IyAtY29kaW5nPWxhdGluMS0KCmZyb20gd2FybmluZ3MgaW1wb3J0IHdhcm5weTNrCndhcm5weTNrKCJJbiAzLngsIHRoZSBtYWNlcnJvcnMgbW9kdWxlIGlzIHJlbW92ZWQuIiwgc3RhY2tsZXZlbD0yKQoKc3ZUZW1wRGlzYWJsZSAgID0gICAtMzI3NjggICNzdlRlbXBEaXNhYmxlCnN2RGlzYWJsZWQgID0gICAtMzI2NDAgICNSZXNlcnZlIHJhbmdlIC0zMjY0MCB0byAtMzI3NjggZm9yIEFwcGxlIHRlbXAgZGlzYWJsZXMuCmZvbnROb3RPdXRsaW5lRXJyICAgPSAgIC0zMjYxNSAgI2JpdG1hcCBmb250IHBhc3NlZCB0byByb3V0aW5lIHRoYXQgZG9lcyBvdXRsaW5lcyBvbmx5CmtVUkw2OGtOb3RTdXBwb3J0ZWRFcnJvciAgICA9ICAgLTMwNzg4ICAja1VSTDY4a05vdFN1cHBvcnRlZEVycm9yCmtVUkxBY2Nlc3NOb3RBdmFpbGFibGVFcnJvciA9ICAgLTMwNzg3ICAja1VSTEFjY2Vzc05vdEF2YWlsYWJsZUVycm9yCmtVUkxJbnZhbGlkQ29uZmlndXJhdGlvbkVycm9yICAgPSAgIC0zMDc4NiAgI2tVUkxJbnZhbGlkQ29uZmlndXJhdGlvbkVycm9yCmtVUkxFeHRlbnNpb25GYWlsdXJlRXJyb3IgICA9ICAgLTMwNzg1ICAja1VSTEV4dGVuc2lvbkZhaWx1cmVFcnJvcgprVVJMRmlsZUVtcHR5RXJyb3IgID0gICAtMzA3ODMgICNrVVJMRmlsZUVtcHR5RXJyb3IKa1VSTEludmFsaWRDYWxsRXJyb3IgICAgPSAgIC0zMDc4MSAgI2tVUkxJbnZhbGlkQ2FsbEVycm9yCmtVUkxVbnNldHRhYmxlUHJvcGVydHlFcnJvciA9ICAgLTMwNzgwICAja1VSTFVuc2V0dGFibGVQcm9wZXJ0eUVycm9yCmtVUkxQcm9wZXJ0eUJ1ZmZlclRvb1NtYWxsRXJyb3IgPSAgIC0zMDc3OSAgI2tVUkxQcm9wZXJ0eUJ1ZmZlclRvb1NtYWxsRXJyb3IKa1VSTFVua25vd25Qcm9wZXJ0eUVycm9yICAgID0gICAtMzA3NzggICNrVVJMVW5rbm93blByb3BlcnR5RXJyb3IKa1VSTFByb3BlcnR5Tm90WWV0S25vd25FcnJvciAgICA9ICAgLTMwNzc3ICAja1VSTFByb3BlcnR5Tm90WWV0S25vd25FcnJvcgprVVJMQXV0aGVudGljYXRpb25FcnJvciA9ICAgLTMwNzc2ICAja1VSTEF1dGhlbnRpY2F0aW9uRXJyb3IKa1VSTFNlcnZlckJ1c3lFcnJvciA9ICAgLTMwNzc1ICAja1VSTFNlcnZlckJ1c3lFcnJvcgprVVJMVW5zdXBwb3J0ZWRTY2hlbWVFcnJvciAgPSAgIC0zMDc3NCAgI2tVUkxVbnN1cHBvcnRlZFNjaGVtZUVycm9yCmtVUkxJbnZhbGlkVVJMRXJyb3IgPSAgIC0zMDc3MyAgI2tVUkxJbnZhbGlkVVJMRXJyb3IKa1VSTERlc3RpbmF0aW9uRXhpc3RzRXJyb3IgID0gICAtMzA3NzIgICNrVVJMRGVzdGluYXRpb25FeGlzdHNFcnJvcgprVVJMUHJvZ3Jlc3NBbHJlYWR5RGlzcGxheWVkRXJyb3IgICA9ICAgLTMwNzcxICAja1VSTFByb2dyZXNzQWxyZWFkeURpc3BsYXllZEVycm9yCmtVUkxJbnZhbGlkVVJMUmVmZXJlbmNlRXJyb3IgICAgPSAgIC0zMDc3MCAgI2tVUkxJbnZhbGlkVVJMUmVmZXJlbmNlRXJyb3IKY29udHJvbEhhbmRsZUludmFsaWRFcnIgPSAgIC0zMDU5OSAgI2NvbnRyb2xIYW5kbGVJbnZhbGlkRXJyCmNvbnRyb2xJbnZhbGlkRGF0YVZlcnNpb25FcnIgICAgPSAgIC0zMDU5NyAgI2NvbnRyb2xJbnZhbGlkRGF0YVZlcnNpb25FcnIKZXJySXRlbU5vdENvbnRyb2wgICA9ICAgLTMwNTk2ICAjZXJySXRlbU5vdENvbnRyb2wKZXJyQ2FudEVtYmVkUm9vdCAgICA9ICAgLTMwNTk1ICAjZXJyQ2FudEVtYmVkUm9vdAplcnJDYW50RW1iZWRJbnRvU2VsZiAgICA9ICAgLTMwNTk0ICAjZXJyQ2FudEVtYmVkSW50b1NlbGYKZXJyV2luZG93UmVnaW9uQ29kZUludmFsaWQgID0gICAtMzA1OTMgICNlcnJXaW5kb3dSZWdpb25Db2RlSW52YWxpZAplcnJDb250cm9sSGlkZGVuT3JEaXNhYmxlZCAgPSAgIC0zMDU5MiAgI2VyckNvbnRyb2xIaWRkZW5PckRpc2FibGVkCmVyckRhdGFTaXplTWlzbWF0Y2ggPSAgIC0zMDU5MSAgI2VyckRhdGFTaXplTWlzbWF0Y2gKZXJyQ29udHJvbElzTm90RW1iZWRkZXIgPSAgIC0zMDU5MCAgI2VyckNvbnRyb2xJc05vdEVtYmVkZGVyCmVyckNvbnRyb2xzQWxyZWFkeUV4aXN0ID0gICAtMzA1ODkgICNlcnJDb250cm9sc0FscmVhZHlFeGlzdAplcnJJbnZhbGlkUGFydENvZGUgID0gICAtMzA1ODggICNlcnJJbnZhbGlkUGFydENvZGUKZXJyUm9vdEFscmVhZHlFeGlzdHMgICAgPSAgIC0zMDU4NyAgI2VyclJvb3RBbHJlYWR5RXhpc3RzCmVyck5vUm9vdENvbnRyb2wgICAgPSAgIC0zMDU4NiAgI2Vyck5vUm9vdENvbnRyb2wKZXJyQ291bGRudFNldEZvY3VzICA9ICAgLTMwNTg1ICAjZXJyQ291bGRudFNldEZvY3VzCmVyclVua25vd25Db250cm9sICAgPSAgIC0zMDU4NCAgI2VyclVua25vd25Db250cm9sCmVycldpbmRvd0RvZXNudFN1cHBvcnRGb2N1cyA9ICAgLTMwNTgzICAjZXJyV2luZG93RG9lc250U3VwcG9ydEZvY3VzCmVyckNvbnRyb2xEb2VzbnRTdXBwb3J0Rm9jdXMgICAgPSAgIC0zMDU4MiAgI2VyckNvbnRyb2xEb2VzbnRTdXBwb3J0Rm9jdXMKZXJyRGF0YU5vdFN1cHBvcnRlZCA9ICAgLTMwNTgxICAjZXJyRGF0YU5vdFN1cHBvcnRlZAplcnJNZXNzYWdlTm90U3VwcG9ydGVkICA9ICAgLTMwNTgwICAjZXJyTWVzc2FnZU5vdFN1cHBvcnRlZAp0aGVtZU1vbml0b3JEZXB0aE5vdFN1cHBvcnRlZEVyciAgICA9ICAgLTMwNTY3ICAjdGhlbWUgbm90IHN1cHBvcnRlZCBhdCBtb25pdG9yIGRlcHRoCnRoZW1lU2NyaXB0Rm9udE5vdEZvdW5kRXJyICA9ICAgLTMwNTY2ICAjdGhlbWUgZm9udCByZXF1ZXN0ZWQgZm9yIHVuaW5zdGFsbGVkIHNjcmlwdCBzeXN0ZW0KdGhlbWVCYWRDdXJzb3JJbmRleEVyciAgPSAgIC0zMDU2NSAgI3RoZW1lQmFkQ3Vyc29ySW5kZXhFcnIKdGhlbWVIYXNOb0FjY2VudHNFcnIgICAgPSAgIC0zMDU2NCAgI3RoZW1lSGFzTm9BY2NlbnRzRXJyCnRoZW1lQmFkVGV4dENvbG9yRXJyICAgID0gICAtMzA1NjMgICN0aGVtZUJhZFRleHRDb2xvckVycgp0aGVtZVByb2Nlc3NOb3RSZWdpc3RlcmVkRXJyICAgID0gICAtMzA1NjIgICN0aGVtZVByb2Nlc3NOb3RSZWdpc3RlcmVkRXJyCnRoZW1lUHJvY2Vzc1JlZ2lzdGVyZWRFcnIgICA9ICAgLTMwNTYxICAjdGhlbWVQcm9jZXNzUmVnaXN0ZXJlZEVycgp0aGVtZUludmFsaWRCcnVzaEVyciAgICA9ICAgLTMwNTYwICAjcGF0dGVybiBpbmRleCBpbnZhbGlkCnF0dnJVbmluaXRpYWxpemVkICAgPSAgIC0zMDU1NSAgI3F0dnJVbmluaXRpYWxpemVkCnF0dnJMaWJyYXJ5TG9hZEVyciAgPSAgIC0zMDU1NCAgI3F0dnJMaWJyYXJ5TG9hZEVycgpzdHJlYW1pbmdOb2RlTm90UmVhZHlFcnIgICAgPSAgIC0zMDU1MyAgI3N0cmVhbWluZ05vZGVOb3RSZWFkeUVycgpub01lbW9yeU5vZGVGYWlsZWRJbml0aWFsaXplICAgID0gICAtMzA1NTIgICNub01lbW9yeU5vZGVGYWlsZWRJbml0aWFsaXplCmludmFsaWRIb3RTcG90SURFcnIgPSAgIC0zMDU1MSAgI2ludmFsaWRIb3RTcG90SURFcnIKaW52YWxpZE5vZGVGb3JtYXRFcnIgICAgPSAgIC0zMDU1MCAgI2ludmFsaWROb2RlRm9ybWF0RXJyCmxpbWl0UmVhY2hlZEVyciA9ICAgLTMwNTQ5ICAjbGltaXRSZWFjaGVkRXJyCnNldHRpbmdOb3RTdXBwb3J0ZWRCeU5vZGVFcnIgICAgPSAgIC0zMDU0OCAgI3NldHRpbmdOb3RTdXBwb3J0ZWRCeU5vZGVFcnIKcHJvcGVydHlOb3RTdXBwb3J0ZWRCeU5vZGVFcnIgICA9ICAgLTMwNTQ3ICAjcHJvcGVydHlOb3RTdXBwb3J0ZWRCeU5vZGVFcnIKdGltZU5vdEluVmlld0VyciAgICA9ICAgLTMwNTQ2ICAjdGltZU5vdEluVmlld0VycgppbnZhbGlkVmlld1N0YXRlRXJyID0gICAtMzA1NDUgICNpbnZhbGlkVmlld1N0YXRlRXJyCmludmFsaWROb2RlSURFcnIgICAgPSAgIC0zMDU0NCAgI2ludmFsaWROb2RlSURFcnIKc2VsZWN0b3JOb3RTdXBwb3J0ZWRCeU5vZGVFcnIgICA9ICAgLTMwNTQzICAjc2VsZWN0b3JOb3RTdXBwb3J0ZWRCeU5vZGVFcnIKY2FsbE5vdFN1cHBvcnRlZEJ5Tm9kZUVyciAgID0gICAtMzA1NDIgICNjYWxsTm90U3VwcG9ydGVkQnlOb2RlRXJyCmNvbnN0cmFpbnRSZWFjaGVkRXJyICAgID0gICAtMzA1NDEgICNjb25zdHJhaW50UmVhY2hlZEVycgpub3RBUVRWUk1vdmllRXJyICAgID0gICAtMzA1NDAgICNub3RBUVRWUk1vdmllRXJyCmtGQkNub1N1Y2hIaXQgICA9ICAgLTMwNTMyICAja0ZCQ25vU3VjaEhpdAprRkJDYmFkU2VhcmNoU2Vzc2lvbiAgICA9ICAgLTMwNTMxICAja0ZCQ2JhZFNlYXJjaFNlc3Npb24Ka0ZCQ2luZGV4RGlza0lPRmFpbGVkICAgPSAgIC0zMDUzMCAgI2tGQkNpbmRleERpc2tJT0ZhaWxlZAprRkJDc3VtbWFyaXphdGlvbkNhbmNlbGVkICAgPSAgIC0zMDUyOSAgI2tGQkNzdW1tYXJpemF0aW9uQ2FuY2VsZWQKa0ZCQ2JhZEluZGV4RmlsZVZlcnNpb24gPSAgIC0zMDUyOCAgI2tGQkNiYWRJbmRleEZpbGVWZXJzaW9uCmtGQkNhbmFseXNpc05vdEF2YWlsYWJsZSAgICA9ICAgLTMwNTI3ICAja0ZCQ2FuYWx5c2lzTm90QXZhaWxhYmxlCmtGQkNpbGxlZ2FsU2Vzc2lvbkNoYW5nZSAgICA9ICAgLTMwNTI2ICAjdHJpZWQgdG8gYWRkL3JlbW92ZSB2b2xzIHRvIGEgc2Vzc2lvbgprRkJDc29tZUZpbGVzTm90SW5kZXhlZCA9ICAgLTMwNTI1ICAja0ZCQ3NvbWVGaWxlc05vdEluZGV4ZWQKa0ZCQ3NlYXJjaEZhaWxlZCAgICA9ICAgLTMwNTI0ICAja0ZCQ3NlYXJjaEZhaWxlZAprRkJDaW5kZXhOb3RBdmFpbGFibGUgICA9ICAgLTMwNTIzICAja0ZCQ2luZGV4Tm90QXZhaWxhYmxlCmtGQkNpbmRleEZpbGVEZXN0cm95ZWQgID0gICAtMzA1MjIgICNrRkJDaW5kZXhGaWxlRGVzdHJveWVkCmtGQkNhY2Nlc3NDYW5jZWxlZCAgPSAgIC0zMDUyMSAgI2tGQkNhY2Nlc3NDYW5jZWxlZAprRkJDaW5kZXhpbmdDYW5jZWxlZCAgICA9ICAgLTMwNTIwICAja0ZCQ2luZGV4aW5nQ2FuY2VsZWQKa0ZCQ25vU2VhcmNoU2Vzc2lvbiA9ICAgLTMwNTE5ICAja0ZCQ25vU2VhcmNoU2Vzc2lvbgprRkJDaW5kZXhOb3RGb3VuZCAgID0gICAtMzA1MTggICNrRkJDaW5kZXhOb3RGb3VuZAprRkJDZmx1c2hGYWlsZWQgPSAgIC0zMDUxNyAgI2tGQkNmbHVzaEZhaWxlZAprRkJDYWRkRG9jRmFpbGVkICAgID0gICAtMzA1MTYgICNrRkJDYWRkRG9jRmFpbGVkCmtGQkNhY2Nlc3NvclN0b3JlRmFpbGVkID0gICAtMzA1MTUgICNrRkJDYWNjZXNzb3JTdG9yZUZhaWxlZAprRkJDaW5kZXhDcmVhdGlvbkZhaWxlZCA9ICAgLTMwNTE0ICAjY291bGRuJ3QgY3JlYXRlIGluZGV4CmtGQkNtZXJnaW5nRmFpbGVkICAgPSAgIC0zMDUxMyAgI2NvdWxkbid0IG1lcmdlIGluZGV4IGZpbGVzCmtGQkN0b2tlbml6YXRpb25GYWlsZWQgID0gICAtMzA1MTIgICNjb3VsZG4ndCByZWFkIGZyb20gZG9jdW1lbnQgb3IgcXVlcnkKa0ZCQ21vdmVGYWlsZWQgID0gICAtMzA1MTEgICNWLVR3aW4gZXhjZXB0aW9uIGNhdWdodAprRkJDZGVsZXRpb25GYWlsZWQgID0gICAtMzA1MTAgICNWLVR3aW4gZXhjZXB0aW9uIGNhdWdodAprRkJDY29tbWl0RmFpbGVkICAgID0gICAtMzA1MDkgICNWLVR3aW4gZXhjZXB0aW9uIGNhdWdodAprRkJDaW5kZXhpbmdGYWlsZWQgID0gICAtMzA1MDggICNWLVR3aW4gZXhjZXB0aW9uIGNhdWdodAprRkJDdmFsaWRhdGlvbkZhaWxlZCAgICA9ICAgLTMwNTA3ICAjVi1Ud2luIGV4Y2VwdGlvbiBjYXVnaHQKa0ZCQ2NvbXBhY3Rpb25GYWlsZWQgICAgPSAgIC0zMDUwNiAgI1YtVHdpbiBleGNlcHRpb24gY2F1Z2h0CmtGQkNiYWRJbmRleEZpbGUgICAgPSAgIC0zMDUwNSAgI2JhZCBGU1NwZWMsIG9yIGJhZCBkYXRhIGluIGZpbGUKa0ZCQ2ZpbGVOb3RJbmRleGVkICA9ICAgLTMwNTA0ICAja0ZCQ2ZpbGVOb3RJbmRleGVkCmtGQkNiYWRQYXJhbSAgICA9ICAgLTMwNTAzICAja0ZCQ2JhZFBhcmFtCmtGQkNhbGxvY0ZhaWxlZCA9ICAgLTMwNTAyICAjcHJvYmFibHkgbG93IG1lbW9yeQprRkJDbm9JbmRleGVzRm91bmQgID0gICAtMzA1MDEgICNrRkJDbm9JbmRleGVzRm91bmQKa0ZCQ3ZUd2luRXhjZXB0aW9uRXJyICAgPSAgIC0zMDUwMCAgI25vIHRlbGxpbmcgd2hhdCBpdCB3YXMKa0RTcFN0ZXJlb0NvbnRleHRFcnIgICAgPSAgIC0zMDQ1MCAgI2tEU3BTdGVyZW9Db250ZXh0RXJyCmtEU3BJbnRlcm5hbEVyciA9ICAgLTMwNDQ5ICAja0RTcEludGVybmFsRXJyCmtEU3BDb25maXJtU3dpdGNoV2FybmluZyAgICA9ICAgLTMwNDQ4ICAja0RTcENvbmZpcm1Td2l0Y2hXYXJuaW5nCmtEU3BGcmFtZVJhdGVOb3RSZWFkeUVyciAgICA9ICAgLTMwNDQ3ICAja0RTcEZyYW1lUmF0ZU5vdFJlYWR5RXJyCmtEU3BDb250ZXh0Tm90Rm91bmRFcnIgID0gICAtMzA0NDYgICNrRFNwQ29udGV4dE5vdEZvdW5kRXJyCmtEU3BDb250ZXh0Tm90UmVzZXJ2ZWRFcnIgICA9ICAgLTMwNDQ1ICAja0RTcENvbnRleHROb3RSZXNlcnZlZEVycgprRFNwQ29udGV4dEFscmVhZHlSZXNlcnZlZEVyciAgID0gICAtMzA0NDQgICNrRFNwQ29udGV4dEFscmVhZHlSZXNlcnZlZEVycgprRFNwSW52YWxpZEF0dHJpYnV0ZXNFcnIgICAgPSAgIC0zMDQ0MyAgI2tEU3BJbnZhbGlkQXR0cmlidXRlc0VycgprRFNwSW52YWxpZENvbnRleHRFcnIgICA9ICAgLTMwNDQyICAja0RTcEludmFsaWRDb250ZXh0RXJyCmtEU3BTeXN0ZW1TV1Rvb09sZEVyciAgID0gICAtMzA0NDEgICNrRFNwU3lzdGVtU1dUb29PbGRFcnIKa0RTcE5vdEluaXRpYWxpemVkRXJyICAgPSAgIC0zMDQ0MCAgI2tEU3BOb3RJbml0aWFsaXplZEVycgprSVNwTGlzdEJ1c3lFcnIgPSAgIC0zMDQyOSAgI2tJU3BMaXN0QnVzeUVycgprSVNwRGV2aWNlQWN0aXZlRXJyID0gICAtMzA0MjggICNrSVNwRGV2aWNlQWN0aXZlRXJyCmtJU3BTeXN0ZW1BY3RpdmVFcnIgPSAgIC0zMDQyNyAgI2tJU3BTeXN0ZW1BY3RpdmVFcnIKa0lTcERldmljZUluYWN0aXZlRXJyICAgPSAgIC0zMDQyNiAgI2tJU3BEZXZpY2VJbmFjdGl2ZUVycgprSVNwU3lzdGVtSW5hY3RpdmVFcnIgICA9ICAgLTMwNDI1ICAja0lTcFN5c3RlbUluYWN0aXZlRXJyCmtJU3BFbGVtZW50Tm90SW5MaXN0RXJyID0gICAtMzA0MjQgICNrSVNwRWxlbWVudE5vdEluTGlzdEVycgprSVNwRWxlbWVudEluTGlzdEVyciAgICA9ICAgLTMwNDIzICAja0lTcEVsZW1lbnRJbkxpc3RFcnIKa0lTcEJ1ZmZlclRvU21hbGxFcnIgICAgPSAgIC0zMDQyMiAgI2tJU3BCdWZmZXJUb1NtYWxsRXJyCmtJU3BTeXN0ZW1MaXN0RXJyICAgPSAgIC0zMDQyMSAgI2tJU3BTeXN0ZW1MaXN0RXJyCmtJU3BJbnRlcm5hbEVyciA9ICAgLTMwNDIwICAja0lTcEludGVybmFsRXJyCmtOU3BKb2luRmFpbGVkRXJyICAgPSAgIC0zMDM5OSAgI2tOU3BKb2luRmFpbGVkRXJyCmtOU3BDYW50QmxvY2tFcnIgICAgPSAgIC0zMDM5OCAgI2tOU3BDYW50QmxvY2tFcnIKa05TcE1lc3NhZ2VUb29CaWdFcnIgICAgPSAgIC0zMDM5NyAgI2tOU3BNZXNzYWdlVG9vQmlnRXJyCmtOU3BTZW5kRmFpbGVkRXJyICAgPSAgIC0zMDM5NiAgI2tOU3BTZW5kRmFpbGVkRXJyCmtOU3BDb25uZWN0RmFpbGVkRXJyICAgID0gICAtMzAzOTUgICNrTlNwQ29ubmVjdEZhaWxlZEVycgprTlNwR2FtZVRlcm1pbmF0ZWRFcnIgICA9ICAgLTMwMzk0ICAja05TcEdhbWVUZXJtaW5hdGVkRXJyCmtOU3BUaW1lb3V0RXJyICA9ICAgLTMwMzkzICAja05TcFRpbWVvdXRFcnIKa05TcEludmFsaWRQcm90b2NvbExpc3RFcnIgID0gICAtMzAzOTIgICNrTlNwSW52YWxpZFByb3RvY29sTGlzdEVycgprTlNwSW52YWxpZFByb3RvY29sUmVmRXJyICAgPSAgIC0zMDM5MSAgI2tOU3BJbnZhbGlkUHJvdG9jb2xSZWZFcnIKa05TcEludmFsaWREZWZpbml0aW9uRXJyICAgID0gICAtMzAzOTAgICNrTlNwSW52YWxpZERlZmluaXRpb25FcnIKa05TcEFkZFBsYXllckZhaWxlZEVyciAgPSAgIC0zMDM4OSAgI2tOU3BBZGRQbGF5ZXJGYWlsZWRFcnIKa05TcENyZWF0ZUdyb3VwRmFpbGVkRXJyICAgID0gICAtMzAzODggICNrTlNwQ3JlYXRlR3JvdXBGYWlsZWRFcnIKa05TcE5vSG9zdFZvbHVudGVlcnNFcnIgPSAgIC0zMDM4NyAgI2tOU3BOb0hvc3RWb2x1bnRlZXJzRXJyCmtOU3BOb0dyb3Vwc0VyciA9ICAgLTMwMzg2ICAja05TcE5vR3JvdXBzRXJyCmtOU3BOb1BsYXllcnNFcnIgICAgPSAgIC0zMDM4NSAgI2tOU3BOb1BsYXllcnNFcnIKa05TcEludmFsaWRHcm91cElERXJyICAgPSAgIC0zMDM4NCAgI2tOU3BJbnZhbGlkR3JvdXBJREVycgprTlNwSW52YWxpZFBsYXllcklERXJyICA9ICAgLTMwMzgzICAja05TcEludmFsaWRQbGF5ZXJJREVycgprTlNwTmFtZVJlcXVpcmVkRXJyID0gICAtMzAzODIgICNrTlNwTmFtZVJlcXVpcmVkRXJyCmtOU3BGZWF0dXJlTm90SW1wbGVtZW50ZWRFcnIgICAgPSAgIC0zMDM4MSAgI2tOU3BGZWF0dXJlTm90SW1wbGVtZW50ZWRFcnIKa05TcEFkZHJlc3NJblVzZUVyciA9ICAgLTMwMzgwICAja05TcEFkZHJlc3NJblVzZUVycgprTlNwUmVtb3ZlUGxheWVyRmFpbGVkRXJyICAgPSAgIC0zMDM3OSAgI2tOU3BSZW1vdmVQbGF5ZXJGYWlsZWRFcnIKa05TcEZyZWVRRXhoYXVzdGVkRXJyICAgPSAgIC0zMDM3OCAgI2tOU3BGcmVlUUV4aGF1c3RlZEVycgprTlNwSW52YWxpZEFkZHJlc3NFcnIgICA9ICAgLTMwMzc3ICAja05TcEludmFsaWRBZGRyZXNzRXJyCmtOU3BOb3RBZHZlcnRpc2luZ0VyciAgID0gICAtMzAzNzYgICNrTlNwTm90QWR2ZXJ0aXNpbmdFcnIKa05TcEFscmVhZHlBZHZlcnRpc2luZ0VyciAgID0gICAtMzAzNzQgICNrTlNwQWxyZWFkeUFkdmVydGlzaW5nRXJyCmtOU3BNZW1BbGxvY2F0aW9uRXJyICAgID0gICAtMzAzNzMgICNrTlNwTWVtQWxsb2NhdGlvbkVycgprTlNwT1RWZXJzaW9uVG9vT2xkRXJyICA9ICAgLTMwMzcxICAja05TcE9UVmVyc2lvblRvb09sZEVycgprTlNwT1ROb3RQcmVzZW50RXJyID0gICAtMzAzNzAgICNrTlNwT1ROb3RQcmVzZW50RXJyCmtOU3BJbnZhbGlkUGFyYW1ldGVyRXJyID0gICAtMzAzNjkgICNrTlNwSW52YWxpZFBhcmFtZXRlckVycgprTlNwSW52YWxpZEdhbWVSZWZFcnIgICA9ICAgLTMwMzY3ICAja05TcEludmFsaWRHYW1lUmVmRXJyCmtOU3BQcm90b2NvbE5vdEF2YWlsYWJsZUVyciA9ICAgLTMwMzY2ICAja05TcFByb3RvY29sTm90QXZhaWxhYmxlRXJyCmtOU3BIb3N0RmFpbGVkRXJyICAgPSAgIC0zMDM2NSAgI2tOU3BIb3N0RmFpbGVkRXJyCmtOU3BQaXBlRnVsbEVyciA9ICAgLTMwMzY0ICAja05TcFBpcGVGdWxsRXJyCmtOU3BUb3BvbG9neU5vdFN1cHBvcnRlZEVyciA9ICAgLTMwMzYyICAja05TcFRvcG9sb2d5Tm90U3VwcG9ydGVkRXJyCmtOU3BBbHJlYWR5SW5pdGlhbGl6ZWRFcnIgICA9ICAgLTMwMzYxICAja05TcEFscmVhZHlJbml0aWFsaXplZEVycgprTlNwSW5pdGlhbGl6YXRpb25GYWlsZWRFcnIgPSAgIC0zMDM2MCAgI2tOU3BJbml0aWFsaXphdGlvbkZhaWxlZEVycgprU1NwU2NhbGVUb1plcm9FcnIgID0gICAtMzAzNDQgICNrU1NwU2NhbGVUb1plcm9FcnIKa1NTcFBhcmFsbGVsVXBWZWN0b3JFcnIgPSAgIC0zMDM0MyAgI2tTU3BQYXJhbGxlbFVwVmVjdG9yRXJyCmtTU3BDYW50SW5zdGFsbEVyciAgPSAgIC0zMDM0MiAgI2tTU3BDYW50SW5zdGFsbEVycgprU1NwVmVyc2lvbkVyciAgPSAgIC0zMDM0MSAgI2tTU3BWZXJzaW9uRXJyCmtTU3BJbnRlcm5hbEVyciA9ICAgLTMwMzQwICAja1NTcEludGVybmFsRXJyCmtBTE1JbnRlcm5hbEVyciA9ICAgLTMwMDQ5ICAja0FMTUludGVybmFsRXJyCmtBTE1Hcm91cE5vdEZvdW5kRXJyICAgID0gICAtMzAwNDggICNrQUxNR3JvdXBOb3RGb3VuZEVycgprQUxNTm9TdWNoTW9kdWxlRXJyID0gICAtMzAwNDcgICNrQUxNTm9TdWNoTW9kdWxlRXJyCmtBTE1Nb2R1bGVDb21tdW5pY2F0aW9uRXJyICA9ICAgLTMwMDQ2ICAja0FMTU1vZHVsZUNvbW11bmljYXRpb25FcnIKa0FMTUR1cGxpY2F0ZU1vZHVsZUVyciAgPSAgIC0zMDA0NSAgI2tBTE1EdXBsaWNhdGVNb2R1bGVFcnIKa0FMTUluc3RhbGxhdGlvbkVyciA9ICAgLTMwMDQ0ICAja0FMTUluc3RhbGxhdGlvbkVycgprQUxNRGVmZXJTd2l0Y2hFcnIgID0gICAtMzAwNDMgICNrQUxNRGVmZXJTd2l0Y2hFcnIKa0FMTVJlYm9vdEZsYWdzTGV2ZWxFcnIgPSAgIC0zMDA0MiAgI2tBTE1SZWJvb3RGbGFnc0xldmVsRXJyCmtMb2NhbGVzRGVmYXVsdERpc3BsYXlTdGF0dXMgICAgPSAgIC0zMDAyOSAgI1JlcXVlc3RlZCBkaXNwbGF5IGxvY2FsZSB1bmF2YWlsYWJsZSwgdXNlZCBkZWZhdWx0CmtMb2NhbGVzVGFibGVGb3JtYXRFcnIgID0gICAtMzAwMDIgICNrTG9jYWxlc1RhYmxlRm9ybWF0RXJyCmtMb2NhbGVzQnVmZmVyVG9vU21hbGxFcnIgICA9ICAgLTMwMDAxICAja0xvY2FsZXNCdWZmZXJUb29TbWFsbEVycgprRk5TTmFtZU5vdEZvdW5kRXJyID0gICAtMjk1ODkgICNUaGUgbmFtZSB3aXRoIHRoZSByZXF1ZXN0ZWQgcGFyYW10ZXJzIHdhcyBub3QgZm91bmQKa0ZOU0JhZEZsYXR0ZW5lZFNpemVFcnIgPSAgIC0yOTU4NyAgI2ZsYXR0ZW5lZCBzaXplIGRpZG4ndCBtYXRjaCBpbnB1dCBvciB3YXMgdG9vIHNtYWxsCmtGTlNJbnN1ZmZpY2llbnREYXRhRXJyID0gICAtMjk1ODYgICNpbnN1ZmZpY2llbnQgZGF0YSBmb3IgdGhlIG9wZXJhdGlvbgprRk5TTWlzbWF0Y2hFcnIgPSAgIC0yOTU4NSAgI3JlZmVyZW5jZSBkaWRuJ3QgbWF0Y2ggb3Igd2Fzbid0IGZvdW5kIGluIHByb2ZpbGUKa0ZOU0R1cGxpY2F0ZVJlZmVyZW5jZUVyciAgID0gICAtMjk1ODQgICN0aGUgcmVmLiBiZWluZyBhZGRlZCBpcyBhbHJlYWR5IGluIHRoZSBwcm9maWxlCmtGTlNCYWRQcm9maWxlVmVyc2lvbkVyciAgICA9ICAgLTI5NTgzICAjcHJvZmlsZSB2ZXJzaW9uIGlzIG91dCBvZiBrbm93biByYW5nZQprRk5TSW52YWxpZFByb2ZpbGVFcnIgICA9ICAgLTI5NTgyICAjcHJvZmlsZSBpcyBOVUxMIG9yIG90aGVyd2lzZSBiYWQKa0ZOU0JhZFJlZmVyZW5jZVZlcnNpb25FcnIgID0gICAtMjk1ODEgICNyZWYuIHZlcnNpb24gaXMgb3V0IG9mIGtub3duIHJhbmdlCmtGTlNJbnZhbGlkUmVmZXJlbmNlRXJyID0gICAtMjk1ODAgICNyZWYuIHdhcyBOVUxMIG9yIG90aGVyd2lzZSBiYWQKa0NvbGxhdGVJbnZhbGlkQ29sbGF0aW9uUmVmID0gICAtMjk1MDcgICNrQ29sbGF0ZUludmFsaWRDb2xsYXRpb25SZWYKa0NvbGxhdGVCdWZmZXJUb29TbWFsbCAgPSAgIC0yOTUwNiAgI2tDb2xsYXRlQnVmZmVyVG9vU21hbGwKa0NvbGxhdGVJbnZhbGlkQ2hhciA9ICAgLTI5NTA1ICAja0NvbGxhdGVJbnZhbGlkQ2hhcgprQ29sbGF0ZVBhdHRlcm5Ob3RGb3VuZEVyciAgPSAgIC0yOTUwNCAgI2tDb2xsYXRlUGF0dGVybk5vdEZvdW5kRXJyCmtDb2xsYXRlVW5pY29kZUNvbnZlcnRGYWlsZWRFcnIgPSAgIC0yOTUwMyAgI2tDb2xsYXRlVW5pY29kZUNvbnZlcnRGYWlsZWRFcnIKa0NvbGxhdGVNaXNzaW5nVW5pY29kZVRhYmxlRXJyICA9ICAgLTI5NTAyICAja0NvbGxhdGVNaXNzaW5nVW5pY29kZVRhYmxlRXJyCmtDb2xsYXRlSW52YWxpZE9wdGlvbnMgID0gICAtMjk1MDEgICNrQ29sbGF0ZUludmFsaWRPcHRpb25zCmtDb2xsYXRlQXR0cmlidXRlc05vdEZvdW5kRXJyICAgPSAgIC0yOTUwMCAgI2tDb2xsYXRlQXR0cmlidXRlc05vdEZvdW5kRXJyCmtNUEludmFsaWRJREVyciA9ICAgLTI5Mjk5ICAja01QSW52YWxpZElERXJyCmtNUEluc3VmZmljaWVudFJlc291cmNlc0VyciA9ICAgLTI5Mjk4ICAja01QSW5zdWZmaWNpZW50UmVzb3VyY2VzRXJyCmtNUFRhc2tBYm9ydGVkRXJyICAgPSAgIC0yOTI5NyAgI2tNUFRhc2tBYm9ydGVkRXJyCmtNUFRpbWVvdXRFcnIgICA9ICAgLTI5Mjk2ICAja01QVGltZW91dEVycgprTVBEZWxldGVkRXJyICAgPSAgIC0yOTI5NSAgI2tNUERlbGV0ZWRFcnIKa01QQmx1ZUJsb2NraW5nRXJyICA9ICAgLTI5MjkzICAja01QQmx1ZUJsb2NraW5nRXJyCmtNUFRhc2tTdG9wcGVkRXJyICAgPSAgIC0yOTI5MiAgI0EgY29udmVudGlvbiB1c2VkIHdpdGggTVBUaHJvd0V4Y2VwdGlvbi4Ka01QVGFza0Jsb2NrZWRFcnIgICA9ICAgLTI5MjkxICAja01QVGFza0Jsb2NrZWRFcnIKa01QVGFza0NyZWF0ZWRFcnIgICA9ICAgLTI5MjkwICAja01QVGFza0NyZWF0ZWRFcnIKa01QUHJvY2Vzc1Rlcm1pbmF0ZWRFcnIgPSAgIC0yOTI4OSAgI2tNUFByb2Nlc3NUZXJtaW5hdGVkRXJyCmtNUFByb2Nlc3NDcmVhdGVkRXJyICAgID0gICAtMjkyODggICNrTVBQcm9jZXNzQ3JlYXRlZEVycgprTVBQcml2aWxlZ2VkRXJyICAgID0gICAtMjkyNzYgICNrTVBQcml2aWxlZ2VkRXJyCmtNUEl0ZXJhdGlvbkVuZEVyciAgPSAgIC0yOTI3NSAgI2tNUEl0ZXJhdGlvbkVuZEVycgprVUNUZXh0QnJlYWtMb2NhdG9yTWlzc2luZ1R5cGUgID0gICAtMjUzNDEgICNVbmljb2RlIHRleHQgYnJlYWsgZXJyb3IKa1VDT3V0cHV0QnVmZmVyVG9vU21hbGwgPSAgIC0yNTM0MCAgI091dHB1dCBidWZmZXIgdG9vIHNtYWxsIGZvciBVbmljb2RlIHN0cmluZyByZXN1bHQKZXJyS0NDcmVhdGVDaGFpbkZhaWxlZCAgPSAgIC0yNTMxOCAgI2VycktDQ3JlYXRlQ2hhaW5GYWlsZWQKZXJyS0NEYXRhTm90TW9kaWZpYWJsZSAgPSAgIC0yNTMxNyAgI2VycktDRGF0YU5vdE1vZGlmaWFibGUKZXJyS0NEYXRhTm90QXZhaWxhYmxlICAgPSAgIC0yNTMxNiAgI2VycktDRGF0YU5vdEF2YWlsYWJsZQplcnJLQ0ludGVyYWN0aW9uUmVxdWlyZWQgICAgPSAgIC0yNTMxNSAgI2VycktDSW50ZXJhY3Rpb25SZXF1aXJlZAplcnJLQ05vUG9saWN5TW9kdWxlID0gICAtMjUzMTQgICNlcnJLQ05vUG9saWN5TW9kdWxlCmVycktDTm9DZXJ0aWZpY2F0ZU1vZHVsZSAgICA9ICAgLTI1MzEzICAjZXJyS0NOb0NlcnRpZmljYXRlTW9kdWxlCmVycktDTm9TdG9yYWdlTW9kdWxlICAgID0gICAtMjUzMTIgICNlcnJLQ05vU3RvcmFnZU1vZHVsZQplcnJLQ0tleVNpemVOb3RBbGxvd2VkICA9ICAgLTI1MzExICAjZXJyS0NLZXlTaXplTm90QWxsb3dlZAplcnJLQ1dyb25nS0NWZXJzaW9uID0gICAtMjUzMTAgICNlcnJLQ1dyb25nS0NWZXJzaW9uCmVycktDUmVhZE9ubHlBdHRyICAgPSAgIC0yNTMwOSAgI2VycktDUmVhZE9ubHlBdHRyCmVycktDSW50ZXJhY3Rpb25Ob3RBbGxvd2VkICA9ICAgLTI1MzA4ICAjZXJyS0NJbnRlcmFjdGlvbk5vdEFsbG93ZWQKZXJyS0NOb0RlZmF1bHRLZXljaGFpbiAgPSAgIC0yNTMwNyAgI2VycktDTm9EZWZhdWx0S2V5Y2hhaW4KZXJyS0NOb1N1Y2hDbGFzcyAgICA9ICAgLTI1MzA2ICAjZXJyS0NOb1N1Y2hDbGFzcwplcnJLQ0ludmFsaWRTZWFyY2hSZWYgICA9ICAgLTI1MzA1ICAjZXJyS0NJbnZhbGlkU2VhcmNoUmVmCmVycktDSW52YWxpZEl0ZW1SZWYgPSAgIC0yNTMwNCAgI2VycktDSW52YWxpZEl0ZW1SZWYKZXJyS0NOb1N1Y2hBdHRyID0gICAtMjUzMDMgICNlcnJLQ05vU3VjaEF0dHIKZXJyS0NEYXRhVG9vTGFyZ2UgICA9ICAgLTI1MzAyICAjZXJyS0NEYXRhVG9vTGFyZ2UKZXJyS0NCdWZmZXJUb29TbWFsbCA9ICAgLTI1MzAxICAjZXJyS0NCdWZmZXJUb29TbWFsbAplcnJLQ0l0ZW1Ob3RGb3VuZCAgID0gICAtMjUzMDAgICNlcnJLQ0l0ZW1Ob3RGb3VuZAplcnJLQ0R1cGxpY2F0ZUl0ZW0gID0gICAtMjUyOTkgICNlcnJLQ0R1cGxpY2F0ZUl0ZW0KZXJyS0NJbnZhbGlkQ2FsbGJhY2sgICAgPSAgIC0yNTI5OCAgI2VycktDSW52YWxpZENhbGxiYWNrCmVycktDRHVwbGljYXRlQ2FsbGJhY2sgID0gICAtMjUyOTcgICNlcnJLQ0R1cGxpY2F0ZUNhbGxiYWNrCmVycktDRHVwbGljYXRlS2V5Y2hhaW4gID0gICAtMjUyOTYgICNlcnJLQ0R1cGxpY2F0ZUtleWNoYWluCmVycktDSW52YWxpZEtleWNoYWluICAgID0gICAtMjUyOTUgICNlcnJLQ0ludmFsaWRLZXljaGFpbgplcnJLQ05vU3VjaEtleWNoYWluID0gICAtMjUyOTQgICNlcnJLQ05vU3VjaEtleWNoYWluCmVycktDQXV0aEZhaWxlZCA9ICAgLTI1MjkzICAjZXJyS0NBdXRoRmFpbGVkCmVycktDUmVhZE9ubHkgICA9ICAgLTI1MjkyICAjZXJyS0NSZWFkT25seQplcnJLQ05vdEF2YWlsYWJsZSAgID0gICAtMjUyOTEgICNlcnJLQ05vdEF2YWlsYWJsZQpwcmludGVyU3RhdHVzT3BDb2RlTm90U3VwcG9ydGVkRXJyICA9ICAgLTI1MjgwICAjcHJpbnRlclN0YXR1c09wQ29kZU5vdFN1cHBvcnRlZEVycgprVFhOT3V0c2lkZU9mRnJhbWVFcnIgICA9ICAgLTIyMDE4ICAja1RYTk91dHNpZGVPZkZyYW1lRXJyCmtUWE5PdXRzaWRlT2ZMaW5lRXJyICAgID0gICAtMjIwMTcgICNrVFhOT3V0c2lkZU9mTGluZUVycgprVFhOQVRTVUlJc05vdEluc3RhbGxlZEVyciAgPSAgIC0yMjAxNiAgI2tUWE5BVFNVSUlzTm90SW5zdGFsbGVkRXJyCmtUWE5EYXRhVHlwZU5vdEFsbG93ZWRFcnIgICA9ICAgLTIyMDE1ICAja1RYTkRhdGFUeXBlTm90QWxsb3dlZEVycgprVFhOQ29weU5vdEFsbG93ZWRJbkVjaG9Nb2RlRXJyID0gICAtMjIwMTQgICNrVFhOQ29weU5vdEFsbG93ZWRJbkVjaG9Nb2RlRXJyCmtUWE5DYW5ub3RUdXJuVFNNT2ZmV2hlblVzaW5nVW5pY29kZUVyciA9ICAgLTIyMDEzICAja1RYTkNhbm5vdFR1cm5UU01PZmZXaGVuVXNpbmdVbmljb2RlRXJyCmtUWE5BbHJlYWR5SW5pdGlhbGl6ZWRFcnIgICA9ICAgLTIyMDEyICAja1RYTkFscmVhZHlJbml0aWFsaXplZEVycgprVFhOSW52YWxpZFJ1bkluZGV4ID0gICAtMjIwMTEgICNrVFhOSW52YWxpZFJ1bkluZGV4CmtUWE5Tb21lT3JBbGxUYWdzSW52YWxpZEZvclJ1bkVyciAgID0gICAtMjIwMTAgICNrVFhOU29tZU9yQWxsVGFnc0ludmFsaWRGb3JSdW5FcnIKa1RYTkF0dHJpYnV0ZVRhZ0ludmFsaWRGb3JSdW5FcnIgICAgPSAgIC0yMjAwOSAgI2RhdGFWYWx1ZSBpcyBzZXQgdG8gdGhpcyBwZXIgaW52YWxpZCB0YWcKa1RYTk5vTWF0Y2hFcnIgID0gICAtMjIwMDggICNrVFhOTm9NYXRjaEVycgprVFhOUnVuSW5kZXhPdXRvZkJvdW5kc0VyciAgPSAgIC0yMjAwNyAgI2tUWE5SdW5JbmRleE91dG9mQm91bmRzRXJyCmtUWE5DYW5ub3RTZXRBdXRvSW5kZW50RXJyICA9ICAgLTIyMDA2ICAja1RYTkNhbm5vdFNldEF1dG9JbmRlbnRFcnIKa1RYTkJhZERlZmF1bHRGaWxlVHlwZVdhcm5pbmcgICA9ICAgLTIyMDA1ICAja1RYTkJhZERlZmF1bHRGaWxlVHlwZVdhcm5pbmcKa1RYTlVzZXJDYW5jZWxlZE9wZXJhdGlvbkVyciAgICA9ICAgLTIyMDA0ICAja1RYTlVzZXJDYW5jZWxlZE9wZXJhdGlvbkVycgprVFhOSWxsZWdhbFRvQ3Jvc3NEYXRhQm91bmRhcmllc0VyciA9ICAgLTIyMDAzICAja1RYTklsbGVnYWxUb0Nyb3NzRGF0YUJvdW5kYXJpZXNFcnIKa1RYTkludmFsaWRGcmFtZUlERXJyICAgPSAgIC0yMjAwMiAgI2tUWE5JbnZhbGlkRnJhbWVJREVycgprVFhOQ2Fubm90QWRkRnJhbWVFcnIgICA9ICAgLTIyMDAxICAja1RYTkNhbm5vdEFkZEZyYW1lRXJyCmtUWE5FbmRJdGVyYXRpb25FcnIgPSAgIC0yMjAwMCAgI2tUWE5FbmRJdGVyYXRpb25FcnIKaW52YWxpZEluZGV4RXJyID0gICAtMjAwMDIgICNUaGUgcmVjb3JkSW5kZXggcGFyYW1ldGVyIGlzIG5vdCB2YWxpZC4KcmVjb3JkRGF0YVRvb0JpZ0VyciA9ICAgLTIwMDAxICAjVGhlIHJlY29yZCBkYXRhIGlzIGJpZ2dlciB0aGFuIGJ1ZmZlciBzaXplICgxMDI0IGJ5dGVzKS4KdW5rbm93bkluc2VydE1vZGVFcnIgICAgPSAgIC0yMDAwMCAgI1RoZXJlIGlzIG5vIHN1Y2ggYW4gaW5zZXJ0IG1vZGUuCmtNb2RlbVNjcmlwdE1pc3NpbmcgPSAgIC0xNDAwMiAgI2tNb2RlbVNjcmlwdE1pc3NpbmcKa01vZGVtUHJlZmVyZW5jZXNNaXNzaW5nICAgID0gICAtMTQwMDEgICNrTW9kZW1QcmVmZXJlbmNlc01pc3NpbmcKa01vZGVtT3V0T2ZNZW1vcnkgICA9ICAgLTE0MDAwICAja01vZGVtT3V0T2ZNZW1vcnkKa0hJREJhc2VFcnJvciAgID0gICAtMTM5NTAgICNrSElEQmFzZUVycm9yCmtISUROdWxsU3RhdGVFcnIgICAgPSAgIC0xMzk0OSAgI2tISUROdWxsU3RhdGVFcnIKa0hJREJ1ZmZlclRvb1NtYWxsRXJyICAgPSAgIC0xMzk0OCAgI2tISURCdWZmZXJUb29TbWFsbEVycgprSElEVmFsdWVPdXRPZlJhbmdlRXJyICA9ICAgLTEzOTQ3ICAja0hJRFZhbHVlT3V0T2ZSYW5nZUVycgprSElEVXNhZ2VOb3RGb3VuZEVyciAgICA9ICAgLTEzOTQ2ICAja0hJRFVzYWdlTm90Rm91bmRFcnIKa0hJRE5vdFZhbHVlQXJyYXlFcnIgICAgPSAgIC0xMzk0NSAgI2tISUROb3RWYWx1ZUFycmF5RXJyCmtISURJbnZhbGlkUHJlcGFyc2VkRGF0YUVyciA9ICAgLTEzOTQ0ICAja0hJREludmFsaWRQcmVwYXJzZWREYXRhRXJyCmtISURJbmNvbXBhdGlibGVSZXBvcnRFcnIgICA9ICAgLTEzOTQzICAja0hJREluY29tcGF0aWJsZVJlcG9ydEVycgprSElEQmFkTG9nUGh5c1ZhbHVlc0VyciA9ICAgLTEzOTQyICAja0hJREJhZExvZ1BoeXNWYWx1ZXNFcnIKa0hJREludmFsaWRSZXBvcnRUeXBlRXJyICAgID0gICAtMTM5NDEgICNrSElESW52YWxpZFJlcG9ydFR5cGVFcnIKa0hJREludmFsaWRSZXBvcnRMZW5ndGhFcnIgID0gICAtMTM5NDAgICNrSElESW52YWxpZFJlcG9ydExlbmd0aEVycgprSElETnVsbFBvaW50ZXJFcnIgID0gICAtMTM5MzkgICNrSElETnVsbFBvaW50ZXJFcnIKa0hJREJhZFBhcmFtZXRlckVyciA9ICAgLTEzOTM4ICAja0hJREJhZFBhcmFtZXRlckVycgprSElETm90RW5vdWdoTWVtb3J5RXJyICA9ICAgLTEzOTM3ICAja0hJRE5vdEVub3VnaE1lbW9yeUVycgprSElERW5kT2ZEZXNjcmlwdG9yRXJyICA9ICAgLTEzOTM2ICAja0hJREVuZE9mRGVzY3JpcHRvckVycgprSElEVXNhZ2VQYWdlWmVyb0VyciAgICA9ICAgLTEzOTM1ICAja0hJRFVzYWdlUGFnZVplcm9FcnIKa0hJREJhZExvZ2ljYWxNaW5pbXVtRXJyICAgID0gICAtMTM5MzQgICNrSElEQmFkTG9naWNhbE1pbmltdW1FcnIKa0hJREJhZExvZ2ljYWxNYXhpbXVtRXJyICAgID0gICAtMTM5MzMgICNrSElEQmFkTG9naWNhbE1heGltdW1FcnIKa0hJREludmVydGVkTG9naWNhbFJhbmdlRXJyID0gICAtMTM5MzIgICNrSElESW52ZXJ0ZWRMb2dpY2FsUmFuZ2VFcnIKa0hJREludmVydGVkUGh5c2ljYWxSYW5nZUVyciAgICA9ICAgLTEzOTMxICAja0hJREludmVydGVkUGh5c2ljYWxSYW5nZUVycgprSElEVW5tYXRjaGVkVXNhZ2VSYW5nZUVyciAgPSAgIC0xMzkzMCAgI2tISURVbm1hdGNoZWRVc2FnZVJhbmdlRXJyCmtISURJbnZlcnRlZFVzYWdlUmFuZ2VFcnIgICA9ICAgLTEzOTI5ICAja0hJREludmVydGVkVXNhZ2VSYW5nZUVycgprSElEVW5tYXRjaGVkU3RyaW5nUmFuZ2VFcnIgPSAgIC0xMzkyOCAgI2tISURVbm1hdGNoZWRTdHJpbmdSYW5nZUVycgprSElEVW5tYXRjaGVkRGVzaWduYXRvclJhbmdlRXJyID0gICAtMTM5MjcgICNrSElEVW5tYXRjaGVkRGVzaWduYXRvclJhbmdlRXJyCmtISURSZXBvcnRTaXplWmVyb0VyciAgID0gICAtMTM5MjYgICNrSElEUmVwb3J0U2l6ZVplcm9FcnIKa0hJRFJlcG9ydENvdW50WmVyb0VyciAgPSAgIC0xMzkyNSAgI2tISURSZXBvcnRDb3VudFplcm9FcnIKa0hJRFJlcG9ydElEWmVyb0VyciA9ICAgLTEzOTI0ICAja0hJRFJlcG9ydElEWmVyb0VycgprSElESW52YWxpZFJhbmdlUGFnZUVyciA9ICAgLTEzOTIzICAja0hJREludmFsaWRSYW5nZVBhZ2VFcnIKa0hJRERldmljZU5vdFJlYWR5ICA9ICAgLTEzOTEwICAjVGhlIGRldmljZSBpcyBzdGlsbCBpbml0aWFsaXppbmcsIHRyeSBhZ2FpbiBsYXRlcgprSElEVmVyc2lvbkluY29tcGF0aWJsZUVyciAgPSAgIC0xMzkwOSAgI2tISURWZXJzaW9uSW5jb21wYXRpYmxlRXJyCmRlYnVnZ2luZ05vTWF0Y2hFcnIgPSAgIC0xMzg4NyAgI2RlYnVnZ2luZyBjb21wb25lbnQgb3Igb3B0aW9uIG5vdCBmb3VuZCBhdCB0aGlzIGluZGV4CmRlYnVnZ2luZ05vQ2FsbGJhY2tFcnIgID0gICAtMTM4ODYgICNkZWJ1Z2dpbmcgY29tcG9uZW50IGhhcyBubyBjYWxsYmFjawpkZWJ1Z2dpbmdJbnZhbGlkTmFtZUVyciA9ICAgLTEzODg1ICAjY29tcG9uZW50TmFtZSBvciBvcHRpb25OYW1lIGlzIGludmFsaWQgKE5VTEwpCmRlYnVnZ2luZ0ludmFsaWRPcHRpb25FcnIgICA9ICAgLTEzODg0ICAjb3B0aW9uU2VsZWN0b3JOdW0gaXMgbm90IHJlZ2lzdGVyZWQKZGVidWdnaW5nSW52YWxpZFNpZ25hdHVyZUVyciAgICA9ICAgLTEzODgzICAjY29tcG9uZW50U2lnbmF0dXJlIG5vdCByZWdpc3RlcmVkCmRlYnVnZ2luZ0R1cGxpY2F0ZU9wdGlvbkVyciA9ICAgLTEzODgyICAjb3B0aW9uU2VsZWN0b3JOdW0gYWxyZWFkeSByZWdpc3RlcmVkCmRlYnVnZ2luZ0R1cGxpY2F0ZVNpZ25hdHVyZUVyciAgPSAgIC0xMzg4MSAgI2NvbXBvbmVudFNpZ25hdHVyZSBhbHJlYWR5IHJlZ2lzdGVyZWQKZGVidWdnaW5nRXhlY3V0aW9uQ29udGV4dEVyciAgICA9ICAgLTEzODgwICAjcm91dGluZSBjYW5ub3QgYmUgY2FsbGVkIGF0IHRoaXMgdGltZQprQnJpZGdlU29mdHdhcmVSdW5uaW5nQ2FudFNsZWVwID0gICAtMTMwMzggICNrQnJpZGdlU29mdHdhcmVSdW5uaW5nQ2FudFNsZWVwCmtOb1N1Y2hQb3dlclNvdXJjZSAgPSAgIC0xMzAyMCAgI2tOb1N1Y2hQb3dlclNvdXJjZQprUHJvY2Vzc29yVGVtcFJvdXRpbmVSZXF1aXJlc01QTGliMiA9ICAgLTEzMDE0ICAja1Byb2Nlc3NvclRlbXBSb3V0aW5lUmVxdWlyZXNNUExpYjIKa0NhbnRSZXBvcnRQcm9jZXNzb3JUZW1wZXJhdHVyZUVyciAgPSAgIC0xMzAxMyAgI2tDYW50UmVwb3J0UHJvY2Vzc29yVGVtcGVyYXR1cmVFcnIKa1Bvd2VyTWd0UmVxdWVzdERlbmllZCAgPSAgIC0xMzAxMCAgI2tQb3dlck1ndFJlcXVlc3REZW5pZWQKa1Bvd2VyTWd0TWVzc2FnZU5vdEhhbmRsZWQgID0gICAtMTMwMDkgICNrUG93ZXJNZ3RNZXNzYWdlTm90SGFuZGxlZAprUG93ZXJIYW5kbGVyTm90Rm91bmRGb3JQcm9jRXJyID0gICAtMTMwMDggICNrUG93ZXJIYW5kbGVyTm90Rm91bmRGb3JQcm9jRXJyCmtQb3dlckhhbmRsZXJOb3RGb3VuZEZvckRldmljZUVyciAgID0gICAtMTMwMDcgICNrUG93ZXJIYW5kbGVyTm90Rm91bmRGb3JEZXZpY2VFcnIKa1Bvd2VySGFuZGxlckV4aXN0c0ZvckRldmljZUVyciA9ICAgLTEzMDA2ICAja1Bvd2VySGFuZGxlckV4aXN0c0ZvckRldmljZUVycgpwbVJlY3ZFbmRFcnIgICAgPSAgIC0xMzAwNSAgI2R1cmluZyByZWNlaXZlLCBwbWdyIGRpZCBub3QgZmluaXNoIGhzIGNvbmZpZ3VyZWQgZm9yIHRoaXMgY29ubmVjdGlvbgpwbVJlY3ZTdGFydEVyciAgPSAgIC0xMzAwNCAgI2R1cmluZyByZWNlaXZlLCBwbWdyIGRpZCBub3Qgc3RhcnQgaHMKcG1TZW5kRW5kRXJyICAgID0gICAtMTMwMDMgICNkdXJpbmcgc2VuZCwgcG1nciBkaWQgbm90IGZpbmlzaCBocwpwbVNlbmRTdGFydEVyciAgPSAgIC0xMzAwMiAgI2R1cmluZyBzZW5kLCBwbWdyIGRpZCBub3Qgc3RhcnQgaHMKcG1SZXBseVRPRXJyICAgID0gICAtMTMwMDEgICNUaW1lZCBvdXQgd2FpdGluZyBmb3IgcmVwbHkKcG1CdXN5RXJyICAgPSAgIC0xMzAwMCAgI1Bvd2VyIE1nciBuZXZlciByZWFkeSB0byBzdGFydCBoYW5kc2hha2UKcGljdHVyZURhdGFFcnIgID0gICAtMTEwMDUgICN0aGUgcGljdHVyZSBkYXRhIHdhcyBpbnZhbGlkCmNvbG9yc1JlcXVlc3RlZEVyciAgPSAgIC0xMTAwNCAgI3RoZSBudW1iZXIgb2YgY29sb3JzIHJlcXVlc3RlZCB3YXMgaWxsZWdhbApjYW50TG9hZFBpY2tNZXRob2RFcnIgICA9ICAgLTExMDAzICAjdW5hYmxlIHRvIGxvYWQgdGhlIGN1c3RvbSBwaWNrIHByb2MKcGljdEluZm9WZXJiRXJyID0gICAtMTEwMDIgICN0aGUgcGFzc2VkIHZlcmIgd2FzIGludmFsaWQKcGljdEluZm9JREVyciAgID0gICAtMTEwMDEgICN0aGUgaW50ZXJuYWwgY29uc2lzdGFuY3kgY2hlY2sgZm9yIHRoZSBQaWN0SW5mb0lEIGlzIHdyb25nCnBpY3RJbmZvVmVyc2lvbkVyciAgPSAgIC0xMTAwMCAgI3dyb25nIHZlcnNpb24gb2YgdGhlIFBpY3RJbmZvIHN0cnVjdHVyZQplcnJUYXNrTm90Rm91bmQgPSAgIC0xMDc4MCAgI25vIHRhc2sgd2l0aCB0aGF0IHRhc2sgaWQgZXhpc3RzCnRlbE5vdEVub3VnaGRzcEJXICAgPSAgIC0xMDExNiAgI25vdCBlbm91Z2ggcmVhbC10aW1lIGZvciBhbGxvY2F0aW9uCnRlbEJhZFNhbXBsZVJhdGUgICAgPSAgIC0xMDExNSAgI2luY29tcGF0aWJsZSBzYW1wbGUgcmF0ZQp0ZWxCYWRTV0VyciA9ICAgLTEwMTE0ICAjU29mdHdhcmUgbm90IGluc3RhbGxlZCBwcm9wZXJseQp0ZWxEZXRBbHJlYWR5T24gPSAgIC0xMDExMyAgI2RldGVjdGlvbiBpcyBhbHJlYWR5IHR1cm5lZCBvbgp0ZWxBdXRvQW5zTm90T24gPSAgIC0xMDExMiAgI2F1dG9BbnN3ZXIgaW4gbm90IHR1cm5lZCBvbgp0ZWxWYWxpZGF0ZUZhaWxlZCAgID0gICAtMTAxMTEgICN0ZWxWYWxpZGF0ZSBmYWlsZWQKdGVsQmFkUHJvY0lEICAgID0gICAtMTAxMTAgICNpbnZhbGlkIHByb2NJRAp0ZWxEZXZpY2VOb3RGb3VuZCAgID0gICAtMTAxMDkgICNkZXZpY2Ugbm90IGZvdW5kCnRlbEJhZENvZGVSZXNvdXJjZSAgPSAgIC0xMDEwOCAgI2NvZGUgcmVzb3VyY2Ugbm90IGZvdW5kCnRlbEluaXRGYWlsZWQgICA9ICAgLTEwMTA3ICAjaW5pdGlhbGl6YXRpb24gZmFpbGVkCnRlbE5vQ29tbUZvbGRlciA9ICAgLTEwMTA2ICAjQ29tbXVuaWNhdGlvbnMvRXh0ZW5zaW9ucyCAIG5vdCBmb3VuZAp0ZWxVbmtub3duRXJyICAgPSAgIC0xMDEwMyAgI3VuYWJsZSB0byBzZXQgY29uZmlnCnRlbE5vU3VjaFRvb2wgICA9ICAgLTEwMTAyICAjdW5hYmxlIHRvIGZpbmQgdG9vbCB3aXRoIG5hbWUgc3BlY2lmaWVkCnRlbEJhZEZ1bmN0aW9uICA9ICAgLTEwMDkxICAjYmFkIG1zZ0NvZGUgc3BlY2lmaWVkCnRlbFBCRXJyICAgID0gICAtMTAwOTAgICNwYXJhbWV0ZXIgYmxvY2sgZXJyb3IsIGJhZCBmb3JtYXQKdGVsQ0FOb3REZWZsZWN0YWJsZSA9ICAgLTEwMDgyICAjQ0Egbm90ICJkZWZsZWN0YWJsZSIKdGVsQ0FOb3RSZWplY3RhYmxlICA9ICAgLTEwMDgxICAjQ0Egbm90ICJyZWplY3RhYmxlIgp0ZWxDQU5vdEFjY2VwdGFibGUgID0gICAtMTAwODAgICNDQSBub3QgImFjY2VwdGFibGUiCnRlbFRlcm1Ob3RPcGVuICA9ICAgLTEwMDcyICAjdGVybWluYWwgbm90IG9wZW5lZCB2aWEgVEVMT3BlblRlcm0KdGVsU3RpbGxOZWVkZWQgID0gICAtMTAwNzEgICN0ZXJtaW5hbCBkcml2ZXIgc3RpbGwgbmVlZGVkIGJ5IHNvbWVvbmUgZWxzZQp0ZWxBbHJlYWR5T3BlbiAgPSAgIC0xMDA3MCAgI3Rlcm1pbmFsIGFscmVhZHkgb3Blbgp0ZWxOb0NhbGxiYWNrUmVmICAgID0gICAtMTAwNjQgICNubyBjYWxsIGJhY2sgcmVmZXJlbmNlIHdhcyBzcGVjaWZpZWQsIGJ1dCBpcyByZXF1aXJlZAp0ZWxEaXNwbGF5TW9kZU5vdFN1cHAgICA9ICAgLTEwMDYzICAjZGlzcGxheSBtb2RlIG5vdCBzdXBwb3J0ZWQgYnkgdG9vbAp0ZWxCYWREaXNwbGF5TW9kZSAgID0gICAtMTAwNjIgICNiYWQgZGlzcGxheSBtb2RlIHNwZWNpZmllZAp0ZWxGd2RUeXBlTm90U3VwcCAgID0gICAtMTAwNjEgICNmb3J3YXJkIHR5cGUgbm90IHN1cHBvcnRlZCBieSB0b29sCnRlbEROVHlwZU5vdFN1cHAgICAgPSAgIC0xMDA2MCAgI0ROIHR5cGUgbm90IHN1cHBvcnRlZCBieSB0b29sCnRlbEJhZFJhdGUgID0gICAtMTAwNTkgICNiYWQgcmF0ZSBzcGVjaWZpZWQKdGVsQmFkQmVhcmVyVHlwZSAgICA9ICAgLTEwMDU4ICAjYmFkIGJlYXJlclR5cGUgc3BlY2lmaWVkCnRlbEJhZFNlbGVjdCAgICA9ICAgLTEwMDU3ICAjdW5hYmxlIHRvIHNlbGVjdCBvciBkZXNlbGVjdCBETgp0ZWxCYWRQYXJrSUQgICAgPSAgIC0xMDA1NiAgI2JhZCBwYXJrIGlkIHNwZWNpZmllZAp0ZWxCYWRQaWNrdXBHcm91cElEID0gICAtMTAwNTUgICNiYWQgcGlja3VwIGdyb3VwIElEIHNwZWNpZmllZAp0ZWxCYWRGd2RUeXBlICAgPSAgIC0xMDA1NCAgI2JhZCBmd2RUeXBlIHNwZWNpZmllZAp0ZWxCYWRGZWF0dXJlSUQgPSAgIC0xMDA1MyAgI2JhZCBmZWF0dXJlIElEIHNwZWNpZmllZAp0ZWxCYWRJbnRlcmNvbUlEICAgID0gICAtMTAwNTIgICNiYWQgaW50ZXJjb20gSUQgc3BlY2lmaWVkCnRlbEJhZFBhZ2VJRCAgICA9ICAgLTEwMDUxICAjYmFkIHBhZ2UgSUQgc3BlY2lmaWVkCnRlbEJhZEROVHlwZSAgICA9ICAgLTEwMDUwICAjRE4gdHlwZSBpbnZhbGlkCnRlbENvbmZMaW1pdEV4Y2VlZGVkICAgID0gICAtMTAwNDcgICNhdHRlbXB0IHRvIGV4Y2VlZCBzd2l0Y2ggY29uZmVyZW5jZSBsaW1pdHMKdGVsQ0JFcnIgICAgPSAgIC0xMDA0NiAgI2NhbGwgYmFjayBmZWF0dXJlIG5vdCBzZXQgcHJldmlvdXNseQp0ZWxUcmFuc2ZlclJlaiAgPSAgIC0xMDA0NSAgI3RyYW5zZmVyIHJlcXVlc3QgcmVqZWN0ZWQKdGVsVHJhbnNmZXJFcnIgID0gICAtMTAwNDQgICN0cmFuc2ZlciBub3QgcHJlcGFyZWQKdGVsQ29uZlJlaiAgPSAgIC0xMDA0MyAgI2NvbmZlcmVuY2UgcmVxdWVzdCB3YXMgcmVqZWN0ZWQKdGVsQ29uZkVyciAgPSAgIC0xMDA0MiAgI2NvbmZlcmVuY2Ugd2FzIG5vdCBwcmVwYXJlZAp0ZWxDb25mTm9MaW1pdCAgPSAgIC0xMDA0MSAgI25vIGxpbWl0IHdhcyBzcGVjaWZpZWQgYnV0IHJlcXVpcmVkCnRlbENvbmZMaW1pdEVyciA9ICAgLTEwMDQwICAjbGltaXQgc3BlY2lmaWVkIGlzIHRvbyBoaWdoIGZvciB0aGlzIGNvbmZpZ3VyYXRpb24KdGVsRmVhdE5vdFN1cHAgID0gICAtMTAwMzMgICNmZWF0dXJlIHByb2dyYW0gY2FsbCBub3Qgc3VwcG9ydGVkIGJ5IHRoaXMgdG9vbAp0ZWxGZWF0QWN0aXZlICAgPSAgIC0xMDAzMiAgI2ZlYXR1cmUgYWxyZWFkeSBhY3RpdmUKdGVsRmVhdE5vdEF2YWlsID0gICAtMTAwMzEgICNmZWF0dXJlIHN1YnNjcmliZWQgYnV0IG5vdCBhdmFpbGFibGUKdGVsRmVhdE5vdFN1YiAgID0gICAtMTAwMzAgICNmZWF0dXJlIG5vdCBzdWJzY3JpYmVkCmVyckFFUHJvcGVydGllc0NsYXNoICAgID0gICAtMTAwMjUgICNpbGxlZ2FsIGNvbWJpbmF0aW9uIG9mIHByb3BlcnRpZXMgc2V0dGluZ3MgZm9yIFNldCBEYXRhLCBtYWtlIG5ldywgb3IgZHVwbGljYXRlCmVyckFFQ2FudFB1dFRoYXRUaGVyZSAgID0gICAtMTAwMjQgICNpbiBtYWtlIG5ldywgZHVwbGljYXRlLCBldGMuIGNsYXNzIGNhbid0IGJlIGFuIGVsZW1lbnQgb2YgY29udGFpbmVyCmVyckFFTm90QW5FbnVtTWVtYmVyICAgID0gICAtMTAwMjMgICNlbnVtZXJhdGVkIHZhbHVlIGluIFNldERhdGEgaXMgbm90IGFsbG93ZWQgZm9yIHRoaXMgcHJvcGVydHkKdGVsSW50RXh0Tm90U3VwcCAgICA9ICAgLTEwMDIyICAjaW50ZXJuYWwgZXh0ZXJuYWwgdHlwZSBub3Qgc3VwcG9ydGVkIGJ5IHRoaXMgdG9vbAp0ZWxCYWRJbnRFeHQgICAgPSAgIC0xMDAyMSAgI2JhZCBpbnRlcm5hbCBleHRlcm5hbCBlcnJvcgp0ZWxTdGF0ZU5vdFN1cHAgPSAgIC0xMDAyMCAgI2RldmljZSBzdGF0ZSBub3Qgc3VwcG9ydGVkIGJ5IHRvb2wKdGVsQmFkU3RhdGVFcnIgID0gICAtMTAwMTkgICNiYWQgZGV2aWNlIHN0YXRlIHNwZWNpZmllZAp0ZWxJbmRleE5vdFN1cHAgPSAgIC0xMDAxOCAgI2luZGV4IG5vdCBzdXBwb3J0ZWQgYnkgdGhpcyB0b29sCnRlbEJhZEluZGV4ID0gICAtMTAwMTcgICNiYWQgaW5kZXggc3BlY2lmaWVkCnRlbEFQYXR0Tm90U3VwcCA9ICAgLTEwMDE2ICAjYWxlcnRpbmcgcGF0dGVybiBub3Qgc3VwcG9ydGVkIGJ5IHRvb2wKdGVsQmFkQVBhdHRFcnIgID0gICAtMTAwMTUgICNiYWQgYWxlcnRpbmcgcGF0dGVybiBzcGVjaWZpZWQKdGVsVlR5cGVOb3RTdXBwID0gICAtMTAwMTQgICN2b2x1bWUgdHlwZSBub3Qgc3VwcG9ydGVkIGJ5IHRoaXMgdG9vbAp0ZWxCYWRWVHlwZUVyciAgPSAgIC0xMDAxMyAgI2JhZCB2b2x1bWUgdHlwZSBlcnJvcgp0ZWxCYWRMZXZlbEVyciAgPSAgIC0xMDAxMiAgI2JhZCB2b2x1bWUgbGV2ZWwgc2V0dGluZwp0ZWxIVHlwZU5vdFN1cHAgPSAgIC0xMDAxMSAgI2hvb2sgdHlwZSBub3Qgc3VwcG9ydGVkIGJ5IHRoaXMgdG9vbAp0ZWxCYWRIVHlwZUVyciAgPSAgIC0xMDAxMCAgI2JhZCBob29rIHR5cGUgc3BlY2lmaWVkCmVyckFFQ2FudFN1cHBseVR5cGUgPSAgIC0xMDAwOSAgI2VyckFFQ2FudFN1cHBseVR5cGUKdGVsTm9PcGVuRXJyICAgID0gICAtMTAwMDggICN1bmFibGUgdG8gb3BlbiB0ZXJtaW5hbAp0ZWxOb01lbUVyciA9ICAgLTEwMDA3ICAjbm8gbWVtb3J5IHRvIGFsbG9jYXRlIGhhbmRsZQplcnJPU0FDYW50QXNzaWduICAgID0gICAtMTAwMDYgICNTaWduYWxlZCB3aGVuIGFuIG9iamVjdCBjYW5ub3QgYmUgc2V0IGluIGEgY29udGFpbmVyLgp0ZWxCYWRQcm9jRXJyICAgPSAgIC0xMDAwNSAgI2JhZCBtc2dQcm9jIHNwZWNpZmllZAp0ZWxCYWRIYW5kRXJyICAgPSAgIC0xMDAwNCAgI2JhZCBoYW5kbGUgc3BlY2lmaWVkCk9TQUlsbGVnYWxBc3NpZ24gICAgPSAgIC0xMDAwMyAgI1NpZ25hbGVkIHdoZW4gYW4gb2JqZWN0IGNhbiBuZXZlciBiZSBzZXQgaW4gYSBjb250YWluZXIKdGVsQmFkRE5FcnIgPSAgIC0xMDAwMiAgI1RFTEROSGFuZGxlIG5vdCBmb3VuZCBvciBpbnZhbGlkCnRlbEJhZFRlcm1FcnIgICA9ICAgLTEwMDAxICAjaW52YWxpZCBURUxIYW5kbGUgb3IgaGFuZGxlIG5vdCBmb3VuZAplcnJBRUV2ZW50RmFpbGVkICAgID0gICAtMTAwMDAgICNlcnJBRUV2ZW50RmFpbGVkCmNhbm5vdE1vdmVBdHRhY2hlZENvbnRyb2xsZXIgICAgPSAgIC05OTk5ICAgI2Nhbm5vdE1vdmVBdHRhY2hlZENvbnRyb2xsZXIKY29udHJvbGxlckhhc0ZpeGVkSGVpZ2h0ICAgID0gICAtOTk5OCAgICNjb250cm9sbGVySGFzRml4ZWRIZWlnaHQKY2Fubm90U2V0V2lkdGhPZkF0dGFjaGVkQ29udHJvbGxlciAgPSAgIC05OTk3ICAgI2Nhbm5vdFNldFdpZHRoT2ZBdHRhY2hlZENvbnRyb2xsZXIKY29udHJvbGxlckJvdW5kc05vdEV4YWN0ICAgID0gICAtOTk5NiAgICNjb250cm9sbGVyQm91bmRzTm90RXhhY3QKZWRpdGluZ05vdEFsbG93ZWQgICA9ICAgLTk5OTUgICAjZWRpdGluZ05vdEFsbG93ZWQKYmFkQ29udHJvbGxlckhlaWdodCA9ICAgLTk5OTQgICAjYmFkQ29udHJvbGxlckhlaWdodApkZXZpY2VDYW50TWVldFJlcXVlc3QgICA9ICAgLTk0MDggICAjZGV2aWNlQ2FudE1lZXRSZXF1ZXN0CnNlcUdyYWJJbmZvTm90QXZhaWxhYmxlID0gICAtOTQwNyAgICNzZXFHcmFiSW5mb05vdEF2YWlsYWJsZQpiYWRTR0NoYW5uZWwgICAgPSAgIC05NDA2ICAgI2JhZFNHQ2hhbm5lbApjb3VsZG50R2V0UmVxdWlyZWRDb21wb25lbnQgPSAgIC05NDA1ICAgI2NvdWxkbnRHZXRSZXF1aXJlZENvbXBvbmVudApub3RFbm91Z2hEaXNrU3BhY2VUb0dyYWIgICAgPSAgIC05NDA0ICAgI25vdEVub3VnaERpc2tTcGFjZVRvR3JhYgpub3RFbm91Z2hNZW1vcnlUb0dyYWIgICA9ICAgLTk0MDMgICAjbm90RW5vdWdoTWVtb3J5VG9HcmFiCmNhbnREb1RoYXRJbkN1cnJlbnRNb2RlID0gICAtOTQwMiAgICNjYW50RG9UaGF0SW5DdXJyZW50TW9kZQpncmFiVGltZUNvbXBsZXRlICAgID0gICAtOTQwMSAgICNncmFiVGltZUNvbXBsZXRlCm5vRGV2aWNlRm9yQ2hhbm5lbCAgPSAgIC05NDAwICAgI25vRGV2aWNlRm9yQ2hhbm5lbAprTm9DYXJkQnVzQ0lTRXJyICAgID0gICAtOTEwOSAgICNObyB2YWxpZCBDSVMgZXhpc3RzIGZvciB0aGlzIENhcmRCdXMgY2FyZAprTm90WlZDYXBhYmxlRXJyICAgID0gICAtOTEwOCAgICNUaGlzIHNvY2tldCBkb2VzIG5vdCBzdXBwb3J0IFpvb21lZCBWaWRlbwprQ2FyZFBvd2VyT2ZmRXJyICAgID0gICAtOTEwNyAgICNQb3dlciB0byB0aGUgY2FyZCBoYXMgYmVlbiB0dXJuZWQgb2ZmCmtBdHRlbXB0RHVwQ2FyZEVudHJ5RXJyID0gICAtOTEwNiAgICNUaGUgRW5hYmxlciB3YXMgYXNrZWQgdG8gY3JlYXRlIGEgZHVwbGljYXRlIGNhcmQgZW50cnkKa0FscmVhZHlTYXZlZFN0YXRlRXJyICAgPSAgIC05MTA1ICAgI1RoZSBzdGF0ZSBoYXMgYmVlbiBzYXZlZCBvbiBwcmV2aW91cyBjYWxsCmtUb29NYW55SU9XaW5kb3dzRXJyICAgID0gICAtOTEwNCAgICNkZXZpY2UgcmVxdWVzdGVkIG1vcmUgdGhhbiBvbmUgSS9PIHdpbmRvdwprTm90UmVhZHlFcnIgICAgPSAgIC05MTAzICAgI1BDIENhcmQgZmFpbGVkIHRvIGdvIHJlYWR5CmtDbGllbnRSZXF1ZXN0RGVuaWVkICAgID0gICAtOTEwMiAgICNDUyBDbGllbnRzIHNob3VsZCByZXR1cm4gdGhpcyBjb2RlIGlub3JkZXIgdG8Ka05vQ29tcGF0aWJsZU5hbWVFcnIgICAgPSAgIC05MTAxICAgI1RoZXJlIGlzIG5vIGNvbXBhdGlibGUgZHJpdmVyIG5hbWUgZm9yIHRoaXMgZGV2aWNlCmtOb0VuYWJsZXJGb3JDYXJkRXJyICAgID0gICAtOTEwMCAgICNObyBFbmFibGVycyB3ZXJlIGZvdW5kIHRoYXQgY2FuIHN1cHBvcnQgdGhlIGNhcmQKa05vQ2FyZEVuYWJsZXJzRm91bmRFcnIgPSAgIC05MDk5ICAgI05vIEVuYWJsZXJzIHdlcmUgZm91bmQKa1Vuc3VwcG9ydGVkQ2FyZEVyciA9ICAgLTkwOTggICAjQ2FyZCBub3Qgc3VwcG9ydGVkIGJ5IGdlbmVyaWMgZW5hYmxlcgprTm9DbGllbnRUYWJsZUVyciAgID0gICAtOTA5NyAgICNUaGUgY2xpZW50IHRhYmxlIGhhcyBub3QgYmUgaW5pdGlhbGl6ZWQgeWV0CmtOb01vcmVJbnRlcnJ1cHRTbG90c0VyciAgICA9ICAgLTkwOTYgICAjQWxsIGludGVybmFsIEludGVycnVwdCBzbG90cyBhcmUgaW4gdXNlCmtOb01vcmVUaW1lckNsaWVudHNFcnIgID0gICAtOTA5NSAgICNBbGwgdGltZXIgY2FsbGJhY2tzIGFyZSBpbiB1c2UKa05vSU9XaW5kb3dSZXF1ZXN0ZWRFcnIgPSAgIC05MDk0ICAgI1JlcXVlc3QgSS9PIHdpbmRvdyBiZWZvcmUgY2FsbGluZyBjb25maWd1cmF0aW9uCmtCYWRDdXN0b21JRklERXJyICAgPSAgIC05MDkzICAgI0N1c3RvbSBpbnRlcmZhY2UgSUQgaXMgaW52YWxpZAprQmFkVHVwbGVEYXRhRXJyICAgID0gICAtOTA5MiAgICNEYXRhIGluIHR1cGxlIGlzIGludmFsaWQKa0ludmFsaWRDU0NsaWVudEVyciA9ICAgLTkwOTEgICAjQ2FyZCBTZXJ2aWNlcyBDbGllbnRJRCBpcyBub3QgcmVnaXN0ZXJlZAprVW5zdXBwb3J0ZWRWc0VyciAgID0gICAtOTA5MCAgICNVbnN1cHBvcnRlZCBWb2x0YWdlIFNlbnNlCmtJbnZhbGlkRGV2aWNlTnVtYmVyICAgID0gICAtOTA4OSAgICNrSW52YWxpZERldmljZU51bWJlcgprUG9zdENhcmRFdmVudEVyciAgID0gICAtOTA4OCAgICNfUENDU0xQb3N0Q2FyZEV2ZW50IGZhaWxlZCBhbmQgZHJvcHBlZCBhbiBldmVudAprQ2FudENvbmZpZ3VyZUNhcmRFcnIgICA9ICAgLTkwODcgICAja0NhbnRDb25maWd1cmVDYXJkRXJyCmtQYXNzQ2FsbFRvQ2hhaW5FcnIgPSAgIC05MDg2ICAgI2tQYXNzQ2FsbFRvQ2hhaW5FcnIKa0NhcmRCdXNDYXJkRXJyID0gICAtOTA4NSAgICNrQ2FyZEJ1c0NhcmRFcnIKazE2Qml0Q2FyZEVyciAgID0gICAtOTA4NCAgICNrMTZCaXRDYXJkRXJyCmtCYWREZXZpY2VFcnIgICA9ICAgLTkwODMgICAja0JhZERldmljZUVycgprQmFkTGlua0VyciA9ICAgLTkwODIgICAja0JhZExpbmtFcnIKa0ludmFsaWRSZWdFbnRyeUVyciA9ICAgLTkwODEgICAja0ludmFsaWRSZWdFbnRyeUVycgprTm9DYXJkU2V2aWNlc1NvY2tldHNFcnIgICAgPSAgIC05MDgwICAgI2tOb0NhcmRTZXZpY2VzU29ja2V0c0VycgprT3V0T2ZSZXNvdXJjZUVyciAgID0gICAtOTA3OSAgICNDYXJkIFNlcnZpY2VzIGhhcyBleGhhdXN0ZWQgdGhlIHJlc291cmNlCmtOb01vcmVJdGVtc0VyciA9ICAgLTkwNzggICAjdGhlcmUgYXJlIG5vIG1vcmUgb2YgdGhlIHJlcXVlc3RlZCBpdGVtCmtJblVzZUVyciAgID0gICAtOTA3NyAgICNyZXF1ZXN0ZWQgcmVzb3VyY2UgaXMgYmVpbmcgdXNlZCBieSBhIGNsaWVudAprQ29uZmlndXJhdGlvbkxvY2tlZEVyciA9ICAgLTkwNzYgICAjYSBjb25maWd1cmF0aW9uIGhhcyBhbHJlYWR5IGJlZW4gbG9ja2VkCmtXcml0ZVByb3RlY3RlZEVyciAgPSAgIC05MDc1ICAgI21lZGlhIGlzIHdyaXRlLXByb3RlY3RlZAprQnVzeUVyciAgICA9ICAgLTkwNzQgICAjdW5hYmxlIHRvIHByb2Nlc3MgcmVxdWVzdCBhdCB0aGlzIHRpbWUgLSB0cnkgbGF0ZXIKa1Vuc3VwcG9ydGVkTW9kZUVyciA9ICAgLTkwNzMgICAjbW9kZSBpcyBub3Qgc3VwcG9ydGVkCmtVbnN1cHBvcnRlZEZ1bmN0aW9uRXJyID0gICAtOTA3MiAgICNmdW5jdGlvbiBpcyBub3Qgc3VwcG9ydGVkIGJ5IHRoaXMgaW1wbGVtZW50YXRpb24Ka05vQ2FyZEVyciAgPSAgIC05MDcxICAgI25vIFBDIGNhcmQgaW4gdGhlIHNvY2tldAprR2VuZXJhbEZhaWx1cmVFcnIgID0gICAtOTA3MCAgICNhbiB1bmRlZmluZWQgZXJyb3IgaGFzIG9jY3VycmVkCmtXcml0ZUZhaWx1cmVFcnIgICAgPSAgIC05MDY5ICAgI3VuYWJsZSB0byBjb21wbGV0ZSB3cml0ZSByZXF1ZXN0CmtSZWFkRmFpbHVyZUVyciA9ICAgLTkwNjggICAjdW5hYmxlIHRvIGNvbXBsZXRlIHJlYWQgcmVxdWVzdAprQmFkU3BlZWRFcnIgICAgPSAgIC05MDY3ICAgI3NwZWNpZmllZCBzcGVlZCBpcyB1bmF2YWlsYWJsZQprQmFkQ0lTRXJyICA9ICAgLTkwNjYgICAjQ0lTIG9uIGNhcmQgaXMgaW52YWxpZAprQmFkSGFuZGxlRXJyICAgPSAgIC05MDY1ICAgI2NsaWVudEhhbmRsZSBpcyBpbnZhbGlkCmtCYWRBcmdzRXJyID0gICAtOTA2NCAgICN2YWx1ZXMgaW4gYXJndW1lbnQgcGFja2V0IGFyZSBpbnZhbGlkCmtCYWRBcmdMZW5ndGhFcnIgICAgPSAgIC05MDYzICAgI0FyZ0xlbmd0aCBhcmd1bWVudCBpcyBpbnZhbGlkCmtCYWRXaW5kb3dFcnIgICA9ICAgLTkwNjIgICAjc3BlY2lmaWVkIHdpbmRvdyBpcyBpbnZhbGlkCmtCYWRWcHBFcnIgID0gICAtOTA2MSAgICNzcGVjaWZpZWQgVnBwMSBvciBWcHAyIHBvd2VyIGxldmVsIGluZGV4IGlzIGludmFsaWQKa0JhZFZjY0VyciAgPSAgIC05MDYwICAgI3NwZWNpZmllZCBWY2MgcG93ZXIgbGV2ZWwgaW5kZXggaXMgaW52YWxpZAprQmFkVHlwZUVyciA9ICAgLTkwNTkgICAjc3BlY2lmaWVkIHdpbmRvdyBvciBpbnRlcmZhY2UgdHlwZSBpcyBpbnZhbGlkCmtCYWRTb2NrZXRFcnIgICA9ICAgLTkwNTggICAjc3BlY2lmaWVkIGxvZ2ljYWwgb3IgcGh5c2ljYWwgc29ja2V0IG51bWJlciBpcyBpbnZhbGlkCmtCYWRTaXplRXJyID0gICAtOTA1NyAgICNzcGVjaWZpZWQgc2l6ZSBpcyBpbnZhbGlkCmtCYWRQYWdlRXJyID0gICAtOTA1NiAgICNzcGVjaWZpZWQgcGFnZSBpcyBpbnZhbGlkCmtCYWRPZmZzZXRFcnIgICA9ICAgLTkwNTUgICAjc3BlY2lmaWVkIFBDIGNhcmQgbWVtb3J5IGFycmF5IG9mZnNldCBpcyBpbnZhbGlkCmtCYWRJUlFFcnIgID0gICAtOTA1NCAgICNzcGVjaWZpZWQgSVJRIGxldmVsIGlzIGludmFsaWQKa0JhZEVEQ0VyciAgPSAgIC05MDUzICAgI3NwZWNpZmllZCBFREMgZ2VuZXJhdG9yIHNwZWNpZmllZCBpcyBpbnZhbGlkCmtCYWRCYXNlRXJyID0gICAtOTA1MiAgICNzcGVjaWZpZWQgYmFzZSBzeXN0ZW0gbWVtb3J5IGFkZHJlc3MgaXMgaW52YWxpZAprQmFkQXR0cmlidXRlRXJyICAgID0gICAtOTA1MSAgICNzcGVjaWZpZWQgYXR0cmlidXRlcyBmaWVsZCB2YWx1ZSBpcyBpbnZhbGlkCmtCYWRBZGFwdGVyRXJyICA9ICAgLTkwNTAgICAjaW52YWxpZCBhZGFwdGVyIG51bWJlcgpjb2RlY09mZnNjcmVlbkZhaWxlZFBsZWFzZVJldHJ5RXJyICA9ICAgLTg5OTIgICAjY29kZWNPZmZzY3JlZW5GYWlsZWRQbGVhc2VSZXRyeUVycgpsb2NrUG9ydEJpdHNXcm9uZ0dEZXZpY2VFcnIgPSAgIC04OTkxICAgI2xvY2tQb3J0Qml0c1dyb25nR0RldmljZUVycgpkaXJlY3RYT2JqZWN0QWxyZWFkeUV4aXN0cyAgPSAgIC04OTkwICAgI2RpcmVjdFhPYmplY3RBbHJlYWR5RXhpc3RzCmNvZGVjRHJvcHBlZEZyYW1lRXJyICAgID0gICAtODk4OSAgICNyZXR1cm5lZCBmcm9tIEltYWdlQ29kZWNEcmF3QmFuZApjb2RlY09mZnNjcmVlbkZhaWxlZEVyciA9ICAgLTg5ODggICAjY29kZWNPZmZzY3JlZW5GYWlsZWRFcnIKY29kZWNOZWVkQWNjZXNzS2V5RXJyICAgPSAgIC04OTg3ICAgI2NvZGVjIG5lZWRzIHBhc3N3b3JkIGluIG9yZGVyIHRvIGRlY29tcHJlc3MKY29kZWNQYXJhbWV0ZXJEaWFsb2dDb25maXJtID0gICAtODk4NiAgICNjb2RlY1BhcmFtZXRlckRpYWxvZ0NvbmZpcm0KbG9ja1BvcnRCaXRzU3VyZmFjZUxvc3RFcnIgID0gICAtODk4NSAgICNsb2NrUG9ydEJpdHNTdXJmYWNlTG9zdEVycgpsb2NrUG9ydEJpdHNCYWRQb3J0RXJyICA9ICAgLTg5ODQgICAjbG9ja1BvcnRCaXRzQmFkUG9ydEVycgpsb2NrUG9ydEJpdHNXaW5kb3dDbGlwcGVkRXJyICAgID0gICAtODk4MyAgICNsb2NrUG9ydEJpdHNXaW5kb3dDbGlwcGVkRXJyCmxvY2tQb3J0Qml0c1dpbmRvd1Jlc2l6ZWRFcnIgICAgPSAgIC04OTgyICAgI2xvY2tQb3J0Qml0c1dpbmRvd1Jlc2l6ZWRFcnIKbG9ja1BvcnRCaXRzV2luZG93TW92ZWRFcnIgID0gICAtODk4MSAgICNsb2NrUG9ydEJpdHNXaW5kb3dNb3ZlZEVycgpsb2NrUG9ydEJpdHNCYWRTdXJmYWNlRXJyICAgPSAgIC04OTgwICAgI2xvY2tQb3J0Qml0c0JhZFN1cmZhY2VFcnIKY29kZWNOZWVkVG9GbHVzaENoYWluRXJyICAgID0gICAtODk3OSAgICNjb2RlY05lZWRUb0ZsdXNoQ2hhaW5FcnIKY29kZWNEaXNhYmxlZEVyciAgICA9ICAgLTg5NzggICAjY29kZWMgZGlzYWJsZWQgaXRzZWxmIC0tIHBhc3MgY29kZWNGbGFnUmVlbmFibGUgdG8gcmVzZXQKY29kZWNOb01lbW9yeVBsZWFzZVdhaXRFcnIgID0gICAtODk3NyAgICNjb2RlY05vTWVtb3J5UGxlYXNlV2FpdEVycgpjb2RlY05vdGhpbmdUb0JsaXRFcnIgICA9ICAgLTg5NzYgICAjY29kZWNOb3RoaW5nVG9CbGl0RXJyCmNvZGVjQ2FudFF1ZXVlRXJyICAgPSAgIC04OTc1ICAgI2NvZGVjQ2FudFF1ZXVlRXJyCmNvZGVjQ2FudFdoZW5FcnIgICAgPSAgIC04OTc0ICAgI2NvZGVjQ2FudFdoZW5FcnIKY29kZWNPcGVuRXJyICAgID0gICAtODk3MyAgICNjb2RlY09wZW5FcnIKY29kZWNDb25kaXRpb25FcnIgICA9ICAgLTg5NzIgICAjY29kZWNDb25kaXRpb25FcnIKY29kZWNFeHRlbnNpb25Ob3RGb3VuZEVyciAgID0gICAtODk3MSAgICNjb2RlY0V4dGVuc2lvbk5vdEZvdW5kRXJyCmNvZGVjRGF0YVZlcnNFcnIgICAgPSAgIC04OTcwICAgI2NvZGVjRGF0YVZlcnNFcnIKY29kZWNCYWREYXRhRXJyID0gICAtODk2OSAgICNjb2RlY0JhZERhdGFFcnIKY29kZWNXb3VsZE9mZnNjcmVlbkVyciAgPSAgIC04OTY4ICAgI2NvZGVjV291bGRPZmZzY3JlZW5FcnIKY29kZWNBYm9ydEVyciAgID0gICAtODk2NyAgICNjb2RlY0Fib3J0RXJyCmNvZGVjU3Bvb2xFcnIgICA9ICAgLTg5NjYgICAjY29kZWNTcG9vbEVycgpjb2RlY0ltYWdlQnVmRXJyICAgID0gICAtODk2NSAgICNjb2RlY0ltYWdlQnVmRXJyCmNvZGVjU2NyZWVuQnVmRXJyICAgPSAgIC04OTY0ICAgI2NvZGVjU2NyZWVuQnVmRXJyCmNvZGVjU2l6ZUVyciAgICA9ICAgLTg5NjMgICAjY29kZWNTaXplRXJyCmNvZGVjVW5pbXBFcnIgICA9ICAgLTg5NjIgICAjY29kZWNVbmltcEVycgpub0NvZGVjRXJyICA9ICAgLTg5NjEgICAjbm9Db2RlY0Vycgpjb2RlY0VyciAgICA9ICAgLTg5NjAgICAjY29kZWNFcnIKa0lsbGVnYWxDbG9ja1ZhbHVlRXJyICAgPSAgIC04ODUyICAgI2tJbGxlZ2FsQ2xvY2tWYWx1ZUVycgprVVRDT3ZlcmZsb3dFcnIgPSAgIC04ODUxICAgI2tVVENPdmVyZmxvd0VycgprVVRDVW5kZXJmbG93RXJyICAgID0gICAtODg1MCAgICNrVVRDVW5kZXJmbG93RXJyCmtBVFNVTGFzdEVyciAgICA9ICAgLTg4MDkgICAjVGhlIGxhc3QgQVRTVUkgZXJyb3IgY29kZS4Ka0FUU1VMaW5lQnJlYWtJbldvcmQgICAgPSAgIC04ODA4ICAgI1RoaXMgaXMgbm90IGFuIGVycm9yIGNvZGUgYnV0IGlzIHJldHVybmVkIGJ5IEFUU1VCcmVha0xpbmUgdG8Ka0FUU1VDb29yZGluYXRlT3ZlcmZsb3dFcnIgID0gICAtODgwNyAgICNVc2VkIHRvIGluZGljYXRlIHRoZSBjb29yZGluYXRlcyBwcm92aWRlZCB0byBhbiBBVFNVSSByb3V0aW5lIGNhdXNlZAprQVRTVU5vRm9udFNjYWxlckF2YWlsYWJsZUVyciAgID0gICAtODgwNiAgICNVc2VkIHdoZW4gbm8gZm9udCBzY2FsZXIgaXMgYXZhaWxhYmxlIGZvciB0aGUgZm9udCBwYXNzZWQKa0FUU1VOb0ZvbnRDbWFwQXZhaWxhYmxlRXJyID0gICAtODgwNSAgICNVc2VkIHdoZW4gbm8gQ01BUCB0YWJsZSBjYW4gYmUgYWNjZXNzZWQgb3Igc3ludGhlc2l6ZWQgZm9yIHRoZQprQVRTVUxvd0xldmVsRXJyICAgID0gICAtODgwNCAgICNVc2VkIHdoZW4gYW4gZXJyb3Igd2FzIGVuY291bnRlcmVkIHdpdGhpbiB0aGUgbG93IGxldmVsIEFUUwprQVRTVVF1aWNrRHJhd1RleHRFcnIgICA9ICAgLTg4MDMgICAjVXNlZCB3aGVuIFF1aWNrRHJhdyBUZXh0IGVuY291bnRlcnMgYW4gZXJyb3IgcmVuZGVyaW5nIG9yIG1lYXN1cmluZwprQVRTVU5vU3R5bGVSdW5zQXNzaWduZWRFcnIgPSAgIC04ODAyICAgI1VzZWQgd2hlbiBhbiBhdHRlbXB0IHdhcyBtYWRlIHRvIG1lYXN1cmUsIGhpZ2hsaWdodCBvciBkcmF3CmtBVFNVTm90U2V0RXJyICA9ICAgLTg4MDEgICAjVXNlZCB3aGVuIHRoZSBjbGllbnQgYXR0ZW1wdHMgdG8gcmV0cmlldmUgYW4gYXR0cmlidXRlLAprQVRTVUludmFsaWRDYWNoZUVyciAgICA9ICAgLTg4MDAgICAjVXNlZCB3aGVuIGFuIGF0dGVtcHQgd2FzIG1hZGUgdG8gcmVhZCBpbiBzdHlsZSBkYXRhCmtBVFNVSW52YWxpZEF0dHJpYnV0ZVRhZ0VyciA9ICAgLTg3OTkgICAjVXNlZCB3aGVuIGFuIGF0dGVtcHQgd2FzIG1hZGUgdG8gdXNlIGEgdGFnIHZhbHVlIHRoYXQKa0FUU1VJbnZhbGlkQXR0cmlidXRlU2l6ZUVyciAgICA9ICAgLTg3OTggICAjVXNlZCB3aGVuIGFuIGF0dGVtcHQgd2FzIG1hZGUgdG8gdXNlIGFuIGF0dHJpYnV0ZSB3aXRoIGEKa0FUU1VJbnZhbGlkQXR0cmlidXRlVmFsdWVFcnIgICA9ICAgLTg3OTcgICAjVXNlZCB3aGVuIGFuIGF0dGVtcHQgd2FzIG1hZGUgdG8gdXNlIGFuIGF0dHJpYnV0ZSB3aXRoCmtBVFNVSW52YWxpZEZvbnRFcnIgPSAgIC04Nzk2ICAgI1VzZWQgd2hlbiBhbiBhdHRlbXB0IHdhcyBtYWRlIHRvIHVzZSBhbiBpbnZhbGlkIGZvbnQgSUQuCmtBVFNVTm9Db3JyZXNwb25kaW5nRm9udEVyciA9ICAgLTg3OTUgICAjVGhpcyB2YWx1ZSBpcyByZXRybmVkIGJ5IGZvbnQgSUQgY29udmVyc2lvbgprQVRTVUZvbnRzTm90TWF0Y2hlZCAgICA9ICAgLTg3OTQgICAjVGhpcyB2YWx1ZSBpcyByZXR1cm5lZCBieSBBVFNVTWF0Y2hGb250c1RvVGV4dCgpCmtBVFNVRm9udHNNYXRjaGVkICAgPSAgIC04NzkzICAgI1RoaXMgaXMgbm90IGFuIGVycm9yIGNvZGUgYnV0IGlzIHJldHVybmVkIGJ5CmtBVFNVSW52YWxpZFRleHRSYW5nZUVyciAgICA9ICAgLTg3OTIgICAjQW4gYXR0ZW1wdCB3YXMgbWFkZSB0byBleHRyYWN0IGluZm9ybWF0aW9uCmtBVFNVSW52YWxpZFN0eWxlRXJyICAgID0gICAtODc5MSAgICNBbiBhdHRlbXB0IHdhcyBtYWRlIHRvIHVzZSBhIEFUU1VTdHlsZSB3aGljaAprQVRTVUludmFsaWRUZXh0TGF5b3V0RXJyICAgPSAgIC04NzkwICAgI0FuIGF0dGVtcHQgd2FzIG1hZGUgdG8gdXNlIGEgQVRTVVRleHRMYXlvdXQKa1RFQ091dHB1dEJ1ZmZlckZ1bGxTdGF0dXMgID0gICAtODc4NSAgICNvdXRwdXQgYnVmZmVyIGhhcyBubyByb29tIGZvciBjb252ZXJzaW9uIG9mIG5leHQgaW5wdXQgdGV4dCBlbGVtZW50IChwYXJ0aWFsIGNvbnZlcnNpb24pCmtURUNOZWVkRmx1c2hTdGF0dXMgPSAgIC04Nzg0ICAgI2tURUNOZWVkRmx1c2hTdGF0dXMKa1RFQ1VzZWRGYWxsYmFja3NTdGF0dXMgPSAgIC04NzgzICAgI2tURUNVc2VkRmFsbGJhY2tzU3RhdHVzCmtURUNJdGVtVW5hdmFpbGFibGVFcnIgID0gICAtODc3MSAgICNpdGVtIChlLmcuIG5hbWUpIG5vdCBhdmFpbGFibGUgZm9yIHNwZWNpZmllZCByZWdpb24gKCYgZW5jb2RpbmcgaWYgcmVsZXZhbnQpCmtURUNHbG9iYWxzVW5hdmFpbGFibGVFcnIgICA9ICAgLTg3NzAgICAjZ2xvYmFscyBoYXZlIGFscmVhZHkgYmVlbiBkZWFsbG9jYXRlZCAocHJlbWF0dXJlIFRFUk0pCnVuaWNvZGVDaGVja3N1bUVyciAgPSAgIC04NzY5ICAgI3VuaWNvZGVDaGVja3N1bUVycgp1bmljb2RlTm9UYWJsZUVyciAgID0gICAtODc2OCAgICN1bmljb2RlTm9UYWJsZUVycgp1bmljb2RlVmFyaWFudEVyciAgID0gICAtODc2NyAgICN1bmljb2RlVmFyaWFudEVycgp1bmljb2RlRmFsbGJhY2tzRXJyID0gICAtODc2NiAgICN1bmljb2RlRmFsbGJhY2tzRXJyCnVuaWNvZGVQYXJ0Q29udmVydEVyciAgID0gICAtODc2NSAgICN1bmljb2RlUGFydENvbnZlcnRFcnIKdW5pY29kZUJ1ZkVyciAgID0gICAtODc2NCAgICN1bmljb2RlQnVmRXJyCnVuaWNvZGVDaGFyRXJyICA9ICAgLTg3NjMgICAjdW5pY29kZUNoYXJFcnIKdW5pY29kZUVsZW1lbnRFcnIgICA9ICAgLTg3NjIgICAjdW5pY29kZUVsZW1lbnRFcnIKdW5pY29kZU5vdEZvdW5kRXJyICA9ICAgLTg3NjEgICAjdW5pY29kZU5vdEZvdW5kRXJyCnVuaWNvZGVUYWJsZUZvcm1hdEVyciAgID0gICAtODc2MCAgICN1bmljb2RlVGFibGVGb3JtYXRFcnIKdW5pY29kZURpcmVjdGlvbkVyciA9ICAgLTg3NTkgICAjdW5pY29kZURpcmVjdGlvbkVycgp1bmljb2RlQ29udGV4dHVhbEVyciAgICA9ICAgLTg3NTggICAjdW5pY29kZUNvbnRleHR1YWxFcnIKdW5pY29kZVRleHRFbmNvZGluZ0RhdGFFcnIgID0gICAtODc1NyAgICN1bmljb2RlVGV4dEVuY29kaW5nRGF0YUVycgprVEVDRGlyZWN0aW9uRXJyICAgID0gICAtODc1NiAgICNkaXJlY3Rpb24gc3RhY2sgb3ZlcmZsb3csIGV0Yy4Ka1RFQ0luY29tcGxldGVFbGVtZW50RXJyICAgID0gICAtODc1NSAgICN0ZXh0IGVsZW1lbnQgbWF5IGJlIGluY29tcGxldGUgb3IgaXMgdG9vIGxvbmcgZm9yIGludGVybmFsIGJ1ZmZlcnMKa1RFQ1VubWFwcGFibGVFbGVtZW50RXJyICAgID0gICAtODc1NCAgICNrVEVDVW5tYXBwYWJsZUVsZW1lbnRFcnIKa1RFQ1BhcnRpYWxDaGFyRXJyICA9ICAgLTg3NTMgICAjaW5wdXQgYnVmZmVyIGVuZHMgaW4gdGhlIG1pZGRsZSBvZiBhIG11bHRpYnl0ZSBjaGFyYWN0ZXIsIGNvbnZlcnNpb24gc3RvcHBlZAprVEVDQmFkVGV4dFJ1bkVyciAgID0gICAtODc1MiAgICNrVEVDQmFkVGV4dFJ1bkVycgprVEVDQXJyYXlGdWxsRXJyICAgID0gICAtODc1MSAgICNzdXBwbGllZCBuYW1lIGJ1ZmZlciBvciBUZXh0UnVuLCBUZXh0RW5jb2RpbmcsIG9yIFVuaWNvZGVNYXBwaW5nIGFycmF5IGlzIHRvbyBzbWFsbAprVEVDQnVmZmVyQmVsb3dNaW5pbXVtU2l6ZUVyciAgID0gICAtODc1MCAgICNvdXRwdXQgYnVmZmVyIHRvbyBzbWFsbCB0byBhbGxvdyBwcm9jZXNzaW5nIG9mIGZpcnN0IGlucHV0IHRleHQgZWxlbWVudAprVEVDTm9Db252ZXJzaW9uUGF0aEVyciA9ICAgLTg3NDkgICAja1RFQ05vQ29udmVyc2lvblBhdGhFcnIKa1RFQ0NvcnJ1cHRDb252ZXJ0ZXJFcnIgPSAgIC04NzQ4ICAgI2ludmFsaWQgY29udmVydGVyIG9iamVjdCByZWZlcmVuY2UKa1RFQ1RhYmxlRm9ybWF0RXJyICA9ICAgLTg3NDcgICAja1RFQ1RhYmxlRm9ybWF0RXJyCmtURUNUYWJsZUNoZWNrc3VtRXJyICAgID0gICAtODc0NiAgICNrVEVDVGFibGVDaGVja3N1bUVycgprVEVDTWlzc2luZ1RhYmxlRXJyID0gICAtODc0NSAgICNrVEVDTWlzc2luZ1RhYmxlRXJyCmtUZXh0VW5kZWZpbmVkRWxlbWVudEVyciAgICA9ICAgLTg3NDAgICAjdGV4dCBjb252ZXJzaW9uIGVycm9ycwprVGV4dE1hbGZvcm1lZElucHV0RXJyICA9ICAgLTg3MzkgICAjaW4gREJDUywgZm9yIGV4YW1wbGUsIGhpZ2ggYnl0ZSBmb2xsb3dlZCBieSBpbnZhbGlkIGxvdyBieXRlCmtUZXh0VW5zdXBwb3J0ZWRFbmNvZGluZ0VyciA9ICAgLTg3MzggICAjc3BlY2lmaWVkIGVuY29kaW5nIG5vdCBzdXBwb3J0ZWQgZm9yIHRoaXMgb3BlcmF0aW9uCmtSQU5vdEVuYWJsZWQgICA9ICAgLTcxMzkgICAja1JBTm90RW5hYmxlZAprUkFDYWxsQmFja0ZhaWxlZCAgID0gICAtNzEzOCAgICNrUkFDYWxsQmFja0ZhaWxlZAprUkFEdXBsaWNhdGVJUEFkZHIgID0gICAtNzEzNyAgICNrUkFEdXBsaWNhdGVJUEFkZHIKa1JBTkNQUmVqZWN0ZWRieVBlZXIgICAgPSAgIC03MTM2ICAgI2tSQU5DUFJlamVjdGVkYnlQZWVyCmtSQUV4dEF1dGhlbnRpY2F0aW9uRmFpbGVkICA9ICAgLTcxMzUgICAja1JBRXh0QXV0aGVudGljYXRpb25GYWlsZWQKa1JBQVRhbGtJbmFjdGl2ZSAgICA9ICAgLTcxMzQgICAja1JBQVRhbGtJbmFjdGl2ZQprUkFQZWVyTm90UmVzcG9uZGluZyAgICA9ICAgLTcxMzMgICAja1JBUGVlck5vdFJlc3BvbmRpbmcKa1JBUFBQUGVlckRpc2Nvbm5lY3RlZCAgPSAgIC03MTMyICAgI2tSQVBQUFBlZXJEaXNjb25uZWN0ZWQKa1JBUFBQVXNlckRpc2Nvbm5lY3RlZCAgPSAgIC03MTMxICAgI2tSQVBQUFVzZXJEaXNjb25uZWN0ZWQKa1JBUFBQTmVnb3RpYXRpb25GYWlsZWQgPSAgIC03MTMwICAgI2tSQVBQUE5lZ290aWF0aW9uRmFpbGVkCmtSQVBQUEF1dGhlbnRpY2F0aW9uRmFpbGVkICA9ICAgLTcxMjkgICAja1JBUFBQQXV0aGVudGljYXRpb25GYWlsZWQKa1JBUFBQUHJvdG9jb2xSZWplY3RlZCAgPSAgIC03MTI4ICAgI2tSQVBQUFByb3RvY29sUmVqZWN0ZWQKZGNtQnVmZmVyT3ZlcmZsb3dFcnIgICAgPSAgIC03MTI3ICAgI2RhdGEgaXMgbGFyZ2VyIHRoYW4gYnVmZmVyIHNpemUKa1JBTm90UHJpbWFyeUludGVyZmFjZSAgPSAgIC03MTI2ICAgI3doZW4gSVBDUCBpcyBub3QgcHJpbWFyeSBUQ1AvSVAgaW50Zi4Ka1JBVENQSVBOb3RDb25maWd1cmVkICAgPSAgIC03MTI1ICAgI1RDUC9JUCBub3QgY29uZmlndXJlZCwgY291bGQgYmUgbG9hZGVkCmtSQVRDUElQSW5hY3RpdmUgICAgPSAgIC03MTI0ICAgI1RDUC9JUCBpbmFjdGl2ZSwgY2Fubm90IGJlIGxvYWRlZAprUkFSZW1vdGVBY2Nlc3NOb3RSZWFkeSA9ICAgLTcxMjMgICAja1JBUmVtb3RlQWNjZXNzTm90UmVhZHkKa1JBSW5pdE9wZW5UcmFuc3BvcnRGYWlsZWQgID0gICAtNzEyMiAgICNrUkFJbml0T3BlblRyYW5zcG9ydEZhaWxlZApkY21Qcm90ZWN0ZWRFcnIgPSAgIC03MTIxICAgI25lZWQga2V5d29yZCB0byB1c2UgZGljdGlvbmFyeQprUkFVc2VyUHdkRW50cnlSZXF1aXJlZCA9ICAgLTcxMjAgICAja1JBVXNlclB3ZEVudHJ5UmVxdWlyZWQKa1JBVXNlclB3ZENoYW5nZVJlcXVpcmVkICAgID0gICAtNzExOSAgICNrUkFVc2VyUHdkQ2hhbmdlUmVxdWlyZWQKZGNtQmFkRmluZE1ldGhvZEVyciA9ICAgLTcxMTggICAjbm8gc3VjaCBmaW5kIG1ldGhvZCBzdXBwb3J0ZWQKa1JBSW52YWxpZFNlcmlhbFByb3RvY29sICAgID0gICAtNzExNyAgICNrUkFJbnZhbGlkU2VyaWFsUHJvdG9jb2wKa1JBSW52YWxpZFBvcnRTdGF0ZSA9ICAgLTcxMTYgICAja1JBSW52YWxpZFBvcnRTdGF0ZQpkY21CYWRLZXlFcnIgICAgPSAgIC03MTE1ICAgI2JhZCBrZXkgaW5mb3JtYXRpb24Ka1JBUG9ydEJ1c3kgPSAgIC03MTE0ICAgI2tSQVBvcnRCdXN5CmtSQUluc3RhbGxhdGlvbkRhbWFnZWQgID0gICAtNzExMyAgICNrUkFJbnN0YWxsYXRpb25EYW1hZ2VkCmRjbUJhZEZpZWxkVHlwZUVyciAgPSAgIC03MTEyICAgI25vIHN1Y2ggZmllbGQgdHlwZSBzdXBwb3J0ZWQKZGNtQmFkRmllbGRJbmZvRXJyICA9ICAgLTcxMTEgICAjaW5jb21wbGV0ZSBpbmZvcm1hdGlvbgpkY21OZWNlc3NhcnlGaWVsZEVyciAgICA9ICAgLTcxMTAgICAjbGFjayByZXF1aXJlZC9pZGVudGlmeSBmaWVsZApkY21EdXBSZWNvcmRFcnIgPSAgIC03MTA5ICAgI3NhbWUgcmVjb3JkIGFscmVhZHkgZXhpc3QKa1JBTm90Q29ubmVjdGVkID0gICAtNzEwOCAgICNrUkFOb3RDb25uZWN0ZWQKZGNtQmxvY2tGdWxsRXJyID0gICAtNzEwNyAgICNkaWN0aW9uYXJ5IGJsb2NrIGZ1bGwKa1JBTWlzc2luZ1Jlc291cmNlcyA9ICAgLTcxMDYgICAja1JBTWlzc2luZ1Jlc291cmNlcwpkY21EaWN0aW9uYXJ5QnVzeUVyciAgICA9ICAgLTcxMDUgICAjZGljdGlvbmFyeSBpcyBidXN5CmRjbURpY3Rpb25hcnlOb3RPcGVuRXJyID0gICAtNzEwNCAgICNkaWN0aW9uYXJ5IG5vdCBvcGVuZWQKZGNtUGVybWlzc2lvbkVyciAgICA9ICAgLTcxMDMgICAjaW52YWxpZCBwZXJtaXNzaW9uCmRjbUJhZERpY3Rpb25hcnlFcnIgPSAgIC03MTAyICAgI2ludmFsaWQgZGljdGlvbmFyeQpkY21Ob3REaWN0aW9uYXJ5RXJyID0gICAtNzEwMSAgICNub3QgZGljdGlvbmFyeQprUkFJbnZhbGlkUGFyYW1ldGVyID0gICAtNzEwMCAgICNrUkFJbnZhbGlkUGFyYW1ldGVyCmxhRW5naW5lTm90Rm91bmRFcnIgPSAgIC03MDAwICAgI2Nhbid0IGZpbmQgdGhlIGVuZ2luZQpsYVByb3BlcnR5RXJyICAgPSAgIC02OTk5ICAgI0Vycm9yIGluIHByb3BlcnRpZXMKa1VTQlVua25vd25EZXZpY2VFcnIgICAgPSAgIC02OTk4ICAgI2RldmljZSByZWYgbm90IHJlY29nbmlzZWQKbGFQcm9wZXJ0eUlzUmVhZE9ubHlFcnIgPSAgIC02OTk3ICAgI3RoZSBwcm9wZXJ0eSBpcyByZWFkIG9ubHkKbGFQcm9wZXJ0eVVua25vd25FcnIgICAgPSAgIC02OTk2ICAgI3RoZSBwcm9wZXJ0eSBpcyB1bmtub3duIHRvIHRoaXMgZW52aXJvbm1lbnQKbGFQcm9wZXJ0eVZhbHVlRXJyICA9ICAgLTY5OTUgICAjSW52YWxpZCBwcm9wZXJ0eSB2YWx1ZQpsYURpY3Rpb25hcnlUb29NYW55RXJyICA9ICAgLTY5OTQgICAjdG9vIG1hbnkgZGljdGlvbmFyaWVzCmxhRGljdGlvbmFyeVVua25vd25FcnIgID0gICAtNjk5MyAgICNjYW4ndCB1c2UgdGhpcyBkaWN0aW9uYXJ5IHdpdGggdGhpcyBlbnZpcm9ubWVudApsYURpY3Rpb25hcnlOb3RPcGVuZWRFcnIgICAgPSAgIC02OTkyICAgI3RoZSBkaWN0aW9uYXJ5IGlzIG5vdCBvcGVuZWQKbGFUZXh0T3ZlckZsb3dFcnIgICA9ICAgLTY5OTEgICAjdGV4dCBpcyB0b28gbG9uZwpsYUZhaWxBbmFseXNpc0VyciAgID0gICAtNjk5MCAgICNhbmFseXNpcyBmYWlsZWQKbGFOb01vcmVNb3JwaGVtZUVyciA9ICAgLTY5ODkgICAjbm90aGluZyB0byByZWFkCmxhSW52YWxpZFBhdGhFcnIgICAgPSAgIC02OTg4ICAgI3BhdGggaXMgbm90IGNvcnJlY3QKa1VTQk5vdEhhbmRsZWQgID0gICAtNjk4NyAgICNOb3RpZmljYXRpb24gd2FzIG5vdCBoYW5kbGVkICAgKHNhbWUgYXMgTm90Rm91bmQpCmxhRW52aXJvbm1lbnROb3RGb3VuZEVyciAgICA9ICAgLTY5ODYgICAjY2FuJ3QgZmludCB0aGUgc3BlY2lmaWVkIGVudmlyb25tZW50CmxhRW52aXJvbm1lbnRCdXN5RXJyICAgID0gICAtNjk4NSAgICNzcGVjaWZpZWQgZW52aXJvbm1lbnQgaXMgdXNlZApsYVRvb1NtYWxsQnVmZmVyRXJyID0gICAtNjk4NCAgICNvdXRwdXQgYnVmZmVyIGlzIHRvbyBzbWFsbCB0byBzdG9yZSBhbnkgcmVzdWx0CmtVU0JGbGFnc0Vycm9yICA9ICAgLTY5ODMgICAjVW51c2VkIGZsYWdzIG5vdCB6ZXJvZWQKa1VTQkFib3J0ZWRFcnJvciAgICA9ICAgLTY5ODIgICAjUGlwZSBhYm9ydGVkCmtVU0JOb0JhbmR3aWR0aEVycm9yICAgID0gICAtNjk4MSAgICNOb3QgZW5vdWdoIGJhbmR3aWR0aCBhdmFpbGFibGUKa1VTQlBpcGVJZGxlRXJyb3IgICA9ICAgLTY5ODAgICAjUGlwZSBpcyBJZGxlLCBpdCB3aWxsIG5vdCBhY2NlcHQgdHJhbnNhY3Rpb25zCmtVU0JQaXBlU3RhbGxlZEVycm9yICAgID0gICAtNjk3OSAgICNQaXBlIGhhcyBzdGFsbGVkLCBlcnJvciBuZWVkcyB0byBiZSBjbGVhcmVkCmtVU0JVbmtub3duSW50ZXJmYWNlRXJyID0gICAtNjk3OCAgICNJbnRlcmZhY2UgcmVmIG5vdCByZWNvZ25pc2VkCmtVU0JEZXZpY2VCdXN5ICA9ICAgLTY5NzcgICAjRGV2aWNlIGlzIGFscmVhZHkgYmVpbmcgY29uZmlndXJlZAprVVNCRGV2aWNlUG93ZXJQcm9ibGVtICA9ICAgLTY5NzYgICAjRGV2aWNlIGhhcyBhIHBvd2VyIHByb2JsZW0Ka1VTQkludmFsaWRCdWZmZXIgICA9ICAgLTY5NzUgICAjYmFkIGJ1ZmZlciwgdXN1YWxseSBuaWwKa1VTQkRldmljZVN1c3BlbmRlZCA9ICAgLTY5NzQgICAjRGV2aWNlIGlzIHN1c3BlbmRlZAprVVNCRGV2aWNlTm90U3VzcGVuZGVkICA9ICAgLTY5NzMgICAjZGV2aWNlIGlzIG5vdCBzdXNwZW5kZWQgZm9yIHJlc3VtZQprVVNCRGV2aWNlRGlzY29ubmVjdGVkICA9ICAgLTY5NzIgICAjRGlzY29ubmVjdGVkIGR1cmluZyBzdXNwZW5kIG9yIHJlc2V0CmtVU0JUaW1lZE91dCAgICA9ICAgLTY5NzEgICAjVHJhbnNhY3Rpb24gdGltZWQgb3V0LgprVVNCUXVldWVBYm9ydGVkICAgID0gICAtNjk3MCAgICNQaXBlIHplcm8gc3RhbGwgY2xlYXJlZC4Ka1VTQlBvcnREaXNhYmxlZCAgICA9ICAgLTY5NjkgICAjVGhlIHBvcnQgeW91IGFyZSBhdHRhY2hlZCB0byBpcyBkaXNhYmxlZCwgdXNlIFVTQkRldmljZVJlc2V0LgprVVNCQmFkRGlzcGF0Y2hUYWJsZSAgICA9ICAgLTY5NTAgICAjSW1wcm9wZXIgZHJpdmVyIGRpc3BhdGNoIHRhYmxlCmtVU0JVbmtub3duTm90aWZpY2F0aW9uID0gICAtNjk0OSAgICNOb3RpZmljYXRpb24gdHlwZSBub3QgZGVmaW5lZAprVVNCUXVldWVGdWxsICAgPSAgIC02OTQ4ICAgI0ludGVybmFsIHF1ZXVlIG1heHhlZAprVVNCTGlua0VyciA9ICAgLTY5MTYgICAja1VTQkxpbmtFcnIKa1VTQkNSQ0VyciAgPSAgIC02OTE1ICAgI1BpcGUgc3RhbGwsIGJhZCBDUkMKa1VTQkJpdHN0dWZFcnIgID0gICAtNjkxNCAgICNQaXBlIHN0YWxsLCBiaXRzdHVmZmluZwprVVNCRGF0YVRvZ2dsZUVyciAgID0gICAtNjkxMyAgICNQaXBlIHN0YWxsLCBCYWQgZGF0YSB0b2dnbGUKa1VTQkVuZHBvaW50U3RhbGxFcnIgICAgPSAgIC02OTEyICAgI0RldmljZSBkaWRuJ3QgdW5kZXJzdGFuZAprVVNCTm90UmVzcG9uZGluZ0VyciAgICA9ICAgLTY5MTEgICAjUGlwZSBzdGFsbCwgTm8gZGV2aWNlLCBkZXZpY2UgaHVuZwprVVNCUElEQ2hlY2tFcnIgPSAgIC02OTEwICAgI1BpcGUgc3RhbGwsIFBJRCBDUkMgZXJyb3IKa1VTQldyb25nUElERXJyID0gICAtNjkwOSAgICNQaXBlIHN0YWxsLCBCYWQgb3Igd3JvbmcgUElECmtVU0JPdmVyUnVuRXJyICA9ICAgLTY5MDggICAjUGFja2V0IHRvbyBsYXJnZSBvciBtb3JlIGRhdGEgdGhhbiBidWZmZXIKa1VTQlVuZGVyUnVuRXJyID0gICAtNjkwNyAgICNMZXNzIGRhdGEgdGhhbiBidWZmZXIKa1VTQlJlczFFcnIgPSAgIC02OTA2ICAgI2tVU0JSZXMxRXJyCmtVU0JSZXMyRXJyID0gICAtNjkwNSAgICNrVVNCUmVzMkVycgprVVNCQnVmT3ZyUnVuRXJyICAgID0gICAtNjkwNCAgICNIb3N0IGhhcmR3YXJlIGZhaWx1cmUgb24gZGF0YSBpbiwgUENJIGJ1c3k/CmtVU0JCdWZVbmRlclJ1bkVyciAgPSAgIC02OTAzICAgI0hvc3QgaGFyZHdhcmUgZmFpbHVyZSBvbiBkYXRhIG91dCwgUENJIGJ1c3k/CmtVU0JOb3RTZW50MUVyciA9ICAgLTY5MDIgICAjVHJhbnNhY3Rpb24gbm90IHNlbnQKa1VTQk5vdFNlbnQyRXJyID0gICAtNjkwMSAgICNUcmFuc2FjdGlvbiBub3Qgc2VudAprRE1Gb3VuZEVyciA9ICAgLTYyMzIgICAjRGlkIG5vdCBwcm9jZWVkIGJlY2F1c2Ugd2UgZm91bmQgYW4gaXRlbQprRE1NYWluRGlzcGxheUNhbm5vdE1vdmVFcnIgPSAgIC02MjMxICAgI1RyeWluZyB0byBtb3ZlIG1haW4gZGlzcGxheSAob3IgYSBkaXNwbGF5IG1pcnJvcmVkIHRvIGl0KQprRE1EaXNwbGF5QWxyZWFkeUluc3RhbGxlZEVyciAgID0gICAtNjIzMCAgICNBdHRlbXB0IHRvIGFkZCBhbiBhbHJlYWR5IGluc3RhbGxlZCBkaXNwbGF5LgprRE1EaXNwbGF5Tm90Rm91bmRFcnIgICA9ICAgLTYyMjkgICAjQ291bGQgbm90IGZpbmQgaXRlbSAod2lsbCBzb21lZGF5IHJlbW92ZSkuCmtETURyaXZlck5vdERpc3BsYXlNZ3JBd2FyZUVyciAgPSAgIC02MjI4ICAgI1ZpZGVvIERyaXZlciBkb2VzIG5vdCBzdXBwb3J0IGRpc3BsYXkgbWFuYWdlci4Ka0RNU1dOb3RJbml0aWFsaXplZEVyciAgPSAgIC02MjI3ICAgI1JlcXVpcmVkIHNvZnR3YXJlIG5vdCBpbml0aWFsaXplZCAoZWcgd2luZG93bWFuYWdlciBvciBkaXNwbGF5IG1ncikuCmtTeXNTV1Rvb09sZCAgICA9ICAgLTYyMjYgICAjTWlzc2luZyBjcml0aWNhbCBwaWVjZXMgb2YgU3lzdGVtIFNvZnR3YXJlLgprRE1NaXJyb3JpbmdOb3RPbiAgID0gICAtNjIyNSAgICNSZXR1cm5lZCBieSBhbGwgY2FsbHMgdGhhdCBuZWVkIG1pcnJvcmluZyB0byBiZSBvbiB0byBkbyB0aGVpciB0aGluZy4Ka0RNQ2FudEJsb2NrICAgID0gICAtNjIyNCAgICNNaXJyb3JpbmcgaXMgYWxyZWFkeSBvbiwgY2Fu1XQgQmxvY2sgbm93IChjYWxsIERNVW5NaXJyb3IoKSBmaXJzdCkuCmtETU1pcnJvcmluZ0Jsb2NrZWQgPSAgIC02MjIzICAgI0RNQmxvY2tNaXJyb3JpbmcoKSBoYXMgYmVlbiBjYWxsZWQuCmtETVdyb25nTnVtYmVyT2ZEaXNwbGF5cyAgICA9ICAgLTYyMjIgICAjQ2FuIG9ubHkgaGFuZGxlIDIgZGlzcGxheXMgZm9yIG5vdy4Ka0RNTWlycm9yaW5nT25BbHJlYWR5ICAgPSAgIC02MjIxICAgI1JldHVybmVkIGJ5IGFsbCBjYWxscyB0aGF0IG5lZWQgbWlycm9yaW5nIHRvIGJlIG9mZiB0byBkbyB0aGVpciB0aGluZy4Ka0RNR2VuRXJyICAgPSAgIC02MjIwICAgI1VuZXhwZWN0ZWQgRXJyb3IKa1FUU1NVbmtub3duRXJyID0gICAtNjE1MCAgICNrUVRTU1Vua25vd25FcnIKY29sbGVjdGlvblZlcnNpb25FcnIgICAgPSAgIC01NzUzICAgI2NvbGxlY3Rpb25WZXJzaW9uRXJyCmNvbGxlY3Rpb25JbmRleFJhbmdlRXJyID0gICAtNTc1MiAgICNjb2xsZWN0aW9uSW5kZXhSYW5nZUVycgpjb2xsZWN0aW9uSXRlbU5vdEZvdW5kRXJyICAgPSAgIC01NzUxICAgI2NvbGxlY3Rpb25JdGVtTm90Rm91bmRFcnIKY29sbGVjdGlvbkl0ZW1Mb2NrZWRFcnIgPSAgIC01NzUwICAgI2NvbGxlY3Rpb25JdGVtTG9ja2VkRXJyCmtOYXZNaXNzaW5nS2luZFN0cmluZ0VyciAgICA9ICAgLTU2OTkgICAja05hdk1pc3NpbmdLaW5kU3RyaW5nRXJyCmtOYXZJbnZhbGlkQ3VzdG9tQ29udHJvbE1lc3NhZ2VFcnIgID0gICAtNTY5OCAgICNrTmF2SW52YWxpZEN1c3RvbUNvbnRyb2xNZXNzYWdlRXJyCmtOYXZDdXN0b21Db250cm9sTWVzc2FnZUZhaWxlZEVyciAgID0gICAtNTY5NyAgICNrTmF2Q3VzdG9tQ29udHJvbE1lc3NhZ2VGYWlsZWRFcnIKa05hdkludmFsaWRTeXN0ZW1Db25maWdFcnIgID0gICAtNTY5NiAgICNrTmF2SW52YWxpZFN5c3RlbUNvbmZpZ0VycgprTmF2V3JvbmdEaWFsb2dDbGFzc0VyciA9ICAgLTU2OTUgICAja05hdldyb25nRGlhbG9nQ2xhc3NFcnIKa05hdldyb25nRGlhbG9nU3RhdGVFcnIgPSAgIC01Njk0ICAgI2tOYXZXcm9uZ0RpYWxvZ1N0YXRlRXJyCmRpYWxvZ05vVGltZW91dEVyciAgPSAgIC01NjQwICAgI2RpYWxvZ05vVGltZW91dEVycgptZW51SW52YWxpZEVyciAgPSAgIC01NjIzICAgI21lbnUgaXMgaW52YWxpZAptZW51SXRlbU5vdEZvdW5kRXJyID0gICAtNTYyMiAgICNzcGVjaWZpZWQgbWVudSBpdGVtIHdhc24ndCBmb3VuZAptZW51VXNlc1N5c3RlbURlZkVyciAgICA9ICAgLTU2MjEgICAjR2V0TWVudURlZmluaXRpb24gZmFpbGVkIGJlY2F1c2UgdGhlIG1lbnUgdXNlcyB0aGUgc3lzdGVtIE1ERUYKbWVudU5vdEZvdW5kRXJyID0gICAtNTYyMCAgICNzcGVjaWZpZWQgbWVudSBvciBtZW51IElEIHdhc24ndCBmb3VuZAp3aW5kb3dXcm9uZ1N0YXRlRXJyID0gICAtNTYxNSAgICN3aW5kb3cgaXMgbm90IGluIGEgc3RhdGUgdGhhdCBpcyB2YWxpZCBmb3IgdGhlIGN1cnJlbnQgYWN0aW9uCndpbmRvd01hbmFnZXJJbnRlcm5hbEVyciAgICA9ICAgLTU2MTQgICAjc29tZXRoaW5nIHJlYWxseSB3ZWlyZCBoYXBwZW5lZCBpbnNpZGUgdGhlIHdpbmRvdyBtYW5hZ2VyCndpbmRvd0F0dHJpYnV0ZXNDb25mbGljdEVyciA9ICAgLTU2MTMgICAjcGFzc2VkIHNvbWUgYXR0cmlidXRlcyB0aGF0IGFyZSBtdXR1YWxseSBleGNsdXNpdmUKd2luZG93QXR0cmlidXRlSW1tdXRhYmxlRXJyID0gICAtNTYxMiAgICN0cmllZCB0byBjaGFuZ2UgYXR0cmlidXRlcyB3aGljaCBjYW4ndCBiZSBjaGFuZ2VkCmVycldpbmRvd0RvZXNOb3RGaXRPbnNjcmVlbiA9ICAgLTU2MTEgICAjQ29uc3RyYWluV2luZG93VG9TY3JlZW4gY291bGQgbm90IG1ha2UgdGhlIHdpbmRvdyBmaXQgb25zY3JlZW4KZXJyV2luZG93Tm90Rm91bmQgICA9ICAgLTU2MTAgICAjcmV0dXJuZWQgZnJvbSBGaW5kV2luZG93T2ZDbGFzcwplcnJGbG9hdGluZ1dpbmRvd3NOb3RJbml0aWFsaXplZCAgICA9ICAgLTU2MDkgICAjY2FsbGVkIEhpZGVGbG9hdGluZ1dpbmRvd3Mgb3IgU2hvd0Zsb2F0aW5nV2luZG93cyB3aXRob3V0IGNhbGxpbmcgSW5pdEZsb2F0aW5nV2luZG93cwplcnJXaW5kb3dzQWxyZWFkeUluaXRpYWxpemVkICAgID0gICAtNTYwOCAgICN0cmllZCB0byBjYWxsIEluaXRGbG9hdGluZ1dpbmRvd3MgdHdpY2UsIG9yIGNhbGxlZCBJbml0V2luZG93cyBhbmQgdGhlbiBmbG9hdGluZyB3aW5kb3dzCmVyclVzZXJXYW50c1RvRHJhZ1dpbmRvdyAgICA9ICAgLTU2MDcgICAjaWYgcmV0dXJuZWQgZnJvbSBUcmFja1dpbmRvd1Byb3h5RHJhZywgeW91IHNob3VsZCBjYWxsIERyYWdXaW5kb3cgb24gdGhlIHdpbmRvdwplcnJDb3JydXB0V2luZG93RGVzY3JpcHRpb24gPSAgIC01NjA2ICAgI3RyaWVkIHRvIGxvYWQgYSBjb3JydXB0IHdpbmRvdyBkZXNjcmlwdGlvbiAoc2l6ZSBvciB2ZXJzaW9uIGZpZWxkcyBpbmNvcnJlY3QpCmVyclVucmVjb2duaXplZFdpbmRvd0NsYXNzICA9ICAgLTU2MDUgICAjdHJpZWQgdG8gY3JlYXRlIGEgd2luZG93IHdpdGggYSBiYWQgV2luZG93Q2xhc3MKZXJyV2luZG93UHJvcGVydHlOb3RGb3VuZCAgID0gICAtNTYwNCAgICN0cmllZCB0byBnZXQgYSBub25leGlzdGVudCBwcm9wZXJ0eQplcnJJbnZhbGlkV2luZG93UHJvcGVydHkgICAgPSAgIC01NjAzICAgI3RyaWVkIHRvIGFjY2VzcyBhIHByb3BlcnR5IHRhZyB3aXRoIHByaXZhdGUgY3JlYXRvcgplcnJXaW5kb3dEb2VzTm90SGF2ZVByb3h5ICAgPSAgIC01NjAyICAgI3RyaWVkIHRvIGRvIHNvbWV0aGluZyByZXF1aXJpbmcgYSBwcm94eSB0byBhIHdpbmRvdyB3aGljaCBkb2VzbtV0IGhhdmUgYSBwcm94eQplcnJVbnN1cHBvcnRlZFdpbmRvd0F0dHJpYnV0ZXNGb3JDbGFzcyAgPSAgIC01NjAxICAgI3RyaWVkIHRvIGNyZWF0ZSBhIHdpbmRvdyB3aXRoIFdpbmRvd0F0dHJpYnV0ZXMgbm90IHN1cHBvcnRlZCBieSB0aGUgV2luZG93Q2xhc3MKZXJySW52YWxpZFdpbmRvd1B0ciA9ICAgLTU2MDAgICAjdHJpZWQgdG8gcGFzcyBhIGJhZCBXaW5kb3dSZWYgYXJndW1lbnQKZ2VzdGFsdExvY2F0aW9uRXJyICA9ICAgLTU1NTMgICAjZ2VzdGFsdCBmdW5jdGlvbiBwdHIgd2Fzbid0IGluIHN5c2hlYXAKZ2VzdGFsdER1cFNlbGVjdG9yRXJyICAgPSAgIC01NTUyICAgI3RyaWVkIHRvIGFkZCBhbiBlbnRyeSB0aGF0IGFscmVhZHkgZXhpc3RlZApnZXN0YWx0VW5kZWZTZWxlY3RvckVyciA9ICAgLTU1NTEgICAjdW5kZWZpbmVkIHNlbGVjdG9yIHdhcyBwYXNzZWQgdG8gR2VzdGFsdApnZXN0YWx0VW5rbm93bkVyciAgID0gICAtNTU1MCAgICN2YWx1ZSByZXR1cm5lZCBpZiBHZXN0YWx0IGRvZXNuJ3Qga25vdyB0aGUgYW5zd2VyCmVudlZlcnNUb29CaWcgICA9ICAgLTU1MDIgICAjVmVyc2lvbiBiaWdnZXIgdGhhbiBjYWxsIGNhbiBoYW5kbGUKZW52QmFkVmVycyAgPSAgIC01NTAxICAgI1ZlcnNpb24gbm9uLXBvc2l0aXZlCmVudk5vdFByZXNlbnQgICA9ICAgLTU1MDAgICAjcmV0dXJuZWQgYnkgZ2x1ZS4KcXRzQWRkcmVzc0J1c3lFcnIgICA9ICAgLTU0MjEgICAjcXRzQWRkcmVzc0J1c3lFcnIKcXRzQ29ubmVjdGlvbkZhaWxlZEVyciAgPSAgIC01NDIwICAgI3F0c0Nvbm5lY3Rpb25GYWlsZWRFcnIKcXRzVGltZW91dEVyciAgID0gICAtNTQwOCAgICNxdHNUaW1lb3V0RXJyCnF0c1Vua25vd25WYWx1ZUVyciAgPSAgIC01NDA3ICAgI3F0c1Vua25vd25WYWx1ZUVycgpxdHNUb29NdWNoRGF0YUVyciAgID0gICAtNTQwNiAgICNxdHNUb29NdWNoRGF0YUVycgpxdHNVbnN1cHBvcnRlZEZlYXR1cmVFcnIgICAgPSAgIC01NDA1ICAgI3F0c1Vuc3VwcG9ydGVkRmVhdHVyZUVycgpxdHNVbnN1cHBvcnRlZFJhdGVFcnIgICA9ICAgLTU0MDQgICAjcXRzVW5zdXBwb3J0ZWRSYXRlRXJyCnF0c1Vuc3VwcG9ydGVkRGF0YVR5cGVFcnIgICA9ICAgLTU0MDMgICAjcXRzVW5zdXBwb3J0ZWREYXRhVHlwZUVycgpxdHNCYWREYXRhRXJyICAgPSAgIC01NDAyICAgI3NvbWV0aGluZyBpcyB3cm9uZyB3aXRoIHRoZSBkYXRhCnF0c0JhZFN0YXRlRXJyICA9ICAgLTU0MDEgICAjcXRzQmFkU3RhdGVFcnIKcXRzQmFkU2VsZWN0b3JFcnIgICA9ICAgLTU0MDAgICAjcXRzQmFkU2VsZWN0b3JFcnIKZXJySUFFbmRPZlRleHRSdW4gICA9ICAgLTUzODggICAjZXJySUFFbmRPZlRleHRSdW4KZXJySUFUZXh0RXh0cmFjdGlvbkVyciAgPSAgIC01Mzg3ICAgI2VycklBVGV4dEV4dHJhY3Rpb25FcnIKZXJySUFJbnZhbGlkRG9jdW1lbnQgICAgPSAgIC01Mzg2ICAgI2VycklBSW52YWxpZERvY3VtZW50CmVycklBQ2FuY2VsZWQgICA9ICAgLTUzODUgICAjZXJySUFDYW5jZWxlZAplcnJJQUJ1ZmZlclRvb1NtYWxsID0gICAtNTM4NCAgICNlcnJJQUJ1ZmZlclRvb1NtYWxsCmVycklBTm9Nb3JlSXRlbXMgICAgPSAgIC01MzgzICAgI2VycklBTm9Nb3JlSXRlbXMKZXJySUFQYXJhbUVyciAgID0gICAtNTM4MiAgICNlcnJJQVBhcmFtRXJyCmVycklBQWxsb2NhdGlvbkVyciAgPSAgIC01MzgxICAgI2VycklBQWxsb2NhdGlvbkVycgplcnJJQVVua25vd25FcnIgPSAgIC01MzgwICAgI2VycklBVW5rbm93bkVycgpoclVSTE5vdEhhbmRsZWRFcnIgID0gICAtNTM2MyAgICNoclVSTE5vdEhhbmRsZWRFcnIKaHJVbmFibGVUb1Jlc2l6ZUhhbmRsZUVyciAgID0gICAtNTM2MiAgICNoclVuYWJsZVRvUmVzaXplSGFuZGxlRXJyCmhyTWlzY2VsbGFuZW91c0V4Y2VwdGlvbkVyciA9ICAgLTUzNjEgICAjaHJNaXNjZWxsYW5lb3VzRXhjZXB0aW9uRXJyCmhySFRNTFJlbmRlcmluZ0xpYk5vdEluc3RhbGxlZEVyciAgID0gICAtNTM2MCAgICNockhUTUxSZW5kZXJpbmdMaWJOb3RJbnN0YWxsZWRFcnIKZXJyQ2Fubm90VW5kbyAgID0gICAtNTI1MyAgICNlcnJDYW5ub3RVbmRvCmVyck5vbkNvbnRpdW91c0F0dHJpYnV0ZSAgICA9ICAgLTUyNTIgICAjZXJyTm9uQ29udGl1b3VzQXR0cmlidXRlCmVyclVua25vd25FbGVtZW50ICAgPSAgIC01MjUxICAgI2VyclVua25vd25FbGVtZW50CmVyclJlYWRPbmx5VGV4dCA9ICAgLTUyNTAgICAjZXJyUmVhZE9ubHlUZXh0CmVyckVtcHR5U2NyYXAgICA9ICAgLTUyNDkgICAjZXJyRW1wdHlTY3JhcAplcnJOb0hpbGl0ZVRleHQgPSAgIC01MjQ4ICAgI2Vyck5vSGlsaXRlVGV4dAplcnJPZmZzZXROb3RPbkVsZW1lbnRCb3VuZGF5ICAgID0gICAtNTI0NyAgICNlcnJPZmZzZXROb3RPbkVsZW1lbnRCb3VuZGF5CmVyckludmFsaWRSYW5nZSA9ICAgLTUyNDYgICAjZXJySW52YWxpZFJhbmdlCmVyckl0ZXJhdG9yUmVhY2hlZEVuZCAgID0gICAtNTI0NSAgICNlcnJJdGVyYXRvclJlYWNoZWRFbmQKZXJyRW5naW5lTm90Rm91bmQgICA9ICAgLTUyNDQgICAjZXJyRW5naW5lTm90Rm91bmQKZXJyQWxyZWFkeUluSW1hZ2luZ01vZGUgPSAgIC01MjQzICAgI2VyckFscmVhZHlJbkltYWdpbmdNb2RlCmVyck5vdEluSW1hZ2luZ01vZGUgPSAgIC01MjQyICAgI2Vyck5vdEluSW1hZ2luZ01vZGUKZXJyTWFyZ2luV2lsbGxOb3RGaXQgICAgPSAgIC01MjQxICAgI2Vyck1hcmdpbldpbGxsTm90Rml0CmVyclVua25vd25BdHRyaWJ1dGVUYWcgID0gICAtNTI0MCAgICNlcnJVbmtub3duQXR0cmlidXRlVGFnCmFmcFNhbWVOb2RlRXJyICA9ICAgLTUwNjMgICAjQW4gQXR0ZW1wdCB3YXMgbWFkZSB0byBjb25uZWN0IHRvIGEgZmlsZSBzZXJ2ZXIgcnVubmluZyBvbiB0aGUgc2FtZSBtYWNoaW5lCmFmcEFscmVhZHlNb3VudGVkICAgPSAgIC01MDYyICAgI1RoZSB2b2x1bWUgaXMgYWxyZWFkeSBtb3VudGVkCmFmcENhbnRNb3VudE1vcmVTcnZyZSAgID0gICAtNTA2MSAgICNUaGUgTWF4aW11bSBudW1iZXIgb2Ygc2VydmVyIGNvbm5lY3Rpb25zIGhhcyBiZWVuIHJlYWNoZWQKYWZwQmFkRGlySURUeXBlID0gICAtNTA2MCAgICNhZnBCYWREaXJJRFR5cGUKYWZwQ2FsbE5vdEFsbG93ZWQgICA9ICAgLTUwNDggICAjVGhlIHNlcnZlciBrbm93cyB3aGF0IHlvdSB3YW50ZWQgdG8gZG8sIGJ1dCB3b24ndCBsZXQgeW91IGRvIGl0IGp1c3Qgbm93CmFmcEFscmVhZHlMb2dnZWRJbkVyciAgID0gICAtNTA0NyAgICNVc2VyIGhhcyBiZWVuIGF1dGhlbnRpY2F0ZWQgYnV0IGlzIGFscmVhZHkgbG9nZ2VkIGluIGZyb20gYW5vdGhlciBtYWNoaW5lIChhbmQgdGhhdCdzIG5vdCBhbGxvd2VkIG9uIHRoaXMgc2VydmVyKQphZnBQd2RQb2xpY3lFcnIgPSAgIC01MDQ2ICAgI1Bhc3N3b3JkIGRvZXMgbm90IGNvbmZvcm0gdG8gc2VydmVycyBwYXNzd29yZCBwb2xpY3kKYWZwUHdkTmVlZHNDaGFuZ2VFcnIgICAgPSAgIC01MDQ1ICAgI1RoZSBwYXNzd29yZCBuZWVkcyB0byBiZSBjaGFuZ2VkCmFmcEluc2lkZVRyYXNoRXJyICAgPSAgIC01MDQ0ICAgI1RoZSBmb2xkZXIgYmVpbmcgc2hhcmVkIGlzIGluc2lkZSB0aGUgdHJhc2ggZm9sZGVyIE9SIHRoZSBzaGFyZWQgZm9sZGVyIGlzIGJlaW5nIG1vdmVkIGludG8gdGhlIHRyYXNoIGZvbGRlcgphZnBJbnNpZGVTaGFyZWRFcnIgID0gICAtNTA0MyAgICNUaGUgZm9sZGVyIGJlaW5nIHNoYXJlZCBpcyBpbnNpZGUgYSBzaGFyZWQgZm9sZGVyIE9SIHRoZSBmb2xkZXIgY29udGFpbnMgYSBzaGFyZWQgZm9sZGVyIGFuZCBpcyBiZWluZyBtb3ZlZCBpbnRvIGEgc2hhcmVkIGZvbGRlcgphZnBQd2RFeHBpcmVkRXJyICAgID0gICAtNTA0MiAgICNUaGUgcGFzc3dvcmQgYmVpbmcgdXNlZCBpcyB0b28gb2xkOiB0aGlzIHJlcXVpcmVzIHRoZSB1c2VyIHRvIGNoYW5nZSB0aGUgcGFzc3dvcmQgYmVmb3JlIGxvZy1pbiBjYW4gY29udGludWUKYWZwUHdkVG9vU2hvcnRFcnIgICA9ICAgLTUwNDEgICAjVGhlIHBhc3N3b3JkIGJlaW5nIHNldCBpcyB0b28gc2hvcnQ6IHRoZXJlIGlzIGEgbWluaW11bSBsZW5ndGggdGhhdCBtdXN0IGJlIG1ldCBvciBleGNlZWRlZAphZnBQd2RTYW1lRXJyICAgPSAgIC01MDQwICAgI1NvbWVvbmUgdHJpZWQgdG8gY2hhbmdlIHRoZWlyIHBhc3N3b3JkIHRvIHRoZSBzYW1lIHBhc3N3b3JkIG9uIGEgbWFudGFkb3J5IHBhc3N3b3JkIGNoYW5nZQphZnBCYWRJREVyciA9ICAgLTUwMzkgICAjYWZwQmFkSURFcnIKYWZwU2FtZU9iamVjdEVyciAgICA9ICAgLTUwMzggICAjYWZwU2FtZU9iamVjdEVycgphZnBDYXRhbG9nQ2hhbmdlZCAgID0gICAtNTAzNyAgICNhZnBDYXRhbG9nQ2hhbmdlZAphZnBEaWZmVm9sRXJyICAgPSAgIC01MDM2ICAgI2FmcERpZmZWb2xFcnIKYWZwSURFeGlzdHMgPSAgIC01MDM1ICAgI2FmcElERXhpc3RzCmFmcElETm90Rm91bmQgICA9ICAgLTUwMzQgICAjYWZwSUROb3RGb3VuZAphZnBDb250YWluc1NoYXJlZEVyciAgICA9ICAgLTUwMzMgICAjdGhlIGZvbGRlciBiZWluZyBzaGFyZWQgY29udGFpbnMgYSBzaGFyZWQgZm9sZGVyCmFmcE9iamVjdExvY2tlZCA9ICAgLTUwMzIgICAjT2JqZWN0IGlzIE0vUi9EL1cgaW5oaWJpdGVkCmFmcFZvbExvY2tlZCAgICA9ICAgLTUwMzEgICAjVm9sdW1lIGlzIFJlYWQtT25seQphZnBJY29uVHlwZUVycm9yICAgID0gICAtNTAzMCAgICNJY29uIHNpemUgc3BlY2lmaWVkIGRpZmZlcmVudCBmcm9tIGV4aXN0aW5nIGljb24gc2l6ZQphZnBEaXJOb3RGb3VuZCAgPSAgIC01MDI5ICAgI1Vua25vd24gZGlyZWN0b3J5IHNwZWNpZmllZAphZnBDYW50UmVuYW1lICAgPSAgIC01MDI4ICAgI0FGUFJlbmFtZSBjYW5ub3QgcmVuYW1lIHZvbHVtZQphZnBTZXJ2ZXJHb2luZ0Rvd24gID0gICAtNTAyNyAgICNTZXJ2ZXIgaXMgc2h1dHRpbmcgZG93bgphZnBUb29NYW55RmlsZXNPcGVuID0gICAtNTAyNiAgICNNYXhpbXVtIG9wZW4gZmlsZSBjb3VudCByZWFjaGVkCmFmcE9iamVjdFR5cGVFcnIgICAgPSAgIC01MDI1ICAgI0ZpbGUvRGlyZWN0b3J5IHNwZWNpZmllZCB3aGVyZSBEaXJlY3RvcnkvRmlsZSBleHBlY3RlZAphZnBDYWxsTm90U3VwcG9ydGVkID0gICAtNTAyNCAgICNVbnN1cHBvcnRlZCBBRlAgY2FsbCB3YXMgbWFkZQphZnBVc2VyTm90QXV0aCAgPSAgIC01MDIzICAgI05vIEFGUExvZ2luIGNhbGwgaGFzIHN1Y2Nlc3NmdWxseSBiZWVuIG1hZGUgZm9yIHRoaXMgc2Vzc2lvbgphZnBTZXNzQ2xvc2VkICAgPSAgIC01MDIyICAgI1Nlc3Npb24gY2xvc2VkCmFmcFJhbmdlT3ZlcmxhcCA9ICAgLTUwMjEgICAjU29tZSBvciBhbGwgb2YgcmFuZ2UgYWxyZWFkeSBsb2NrZWQgYnkgc2FtZSB1c2VyCmFmcFJhbmdlTm90TG9ja2VkICAgPSAgIC01MDIwICAgI1RyaWVkIHRvIHVubG9jayByYW5nZSB0aGF0IHdhcyBub3QgbG9ja2VkIGJ5IHVzZXIKYWZwUGFybUVyciAgPSAgIC01MDE5ICAgI0Egc3BlY2lmaWVkIHBhcmFtZXRlciB3YXMgb3V0IG9mIGFsbG93YWJsZSByYW5nZQphZnBPYmplY3ROb3RGb3VuZCAgID0gICAtNTAxOCAgICNTcGVjaWZpZWQgZmlsZSBvciBkaXJlY3RvcnkgZG9lcyBub3QgZXhpc3QKYWZwT2JqZWN0RXhpc3RzID0gICAtNTAxNyAgICNTcGVjaWZpZWQgZGVzdGluYXRpb24gZmlsZSBvciBkaXJlY3RvcnkgYWxyZWFkeSBleGlzdHMKYWZwTm9TZXJ2ZXIgPSAgIC01MDE2ICAgI1NlcnZlciBub3QgcmVzcG9uZGluZwphZnBOb01vcmVMb2NrcyAgPSAgIC01MDE1ICAgI01heGltdW0gbG9jayBsaW1pdCByZWFjaGVkCmFmcE1pc2NFcnIgID0gICAtNTAxNCAgICNVbmV4cGVjdGVkIGVycm9yIGVuY291bnRlcmVkIGR1cmluZyBleGVjdXRpb24KYWZwTG9ja0VyciAgPSAgIC01MDEzICAgI1NvbWUgb3IgYWxsIG9mIHJlcXVlc3RlZCByYW5nZSBpcyBsb2NrZWQgYnkgYW5vdGhlciB1c2VyCmFmcEl0ZW1Ob3RGb3VuZCA9ICAgLTUwMTIgICAjVW5rbm93biBVc2VyTmFtZS9Vc2VySUQgb3IgbWlzc2luZyBjb21tZW50L0FQUEwgZW50cnkKYWZwRmxhdFZvbCAgPSAgIC01MDExICAgI0Nhbm5vdCBjcmVhdGUgZGlyZWN0b3J5IG9uIHNwZWNpZmllZCB2b2x1bWUKYWZwRmlsZUJ1c3kgPSAgIC01MDEwICAgI0Nhbm5vdCBkZWxldGUgYW4gb3BlbiBmaWxlCmFmcEVvZkVycm9yID0gICAtNTAwOSAgICNSZWFkIGJleW9uZCBsb2dpY2FsIGVuZC1vZi1maWxlCmFmcERpc2tGdWxsID0gICAtNTAwOCAgICNJbnN1ZmZpY2llbnQgZnJlZSBzcGFjZSBvbiB2b2x1bWUgZm9yIG9wZXJhdGlvbgphZnBEaXJOb3RFbXB0eSAgPSAgIC01MDA3ICAgI0Nhbm5vdCBkZWxldGUgbm9uLWVtcHR5IGRpcmVjdG9yeQphZnBEZW55Q29uZmxpY3QgPSAgIC01MDA2ICAgI1NwZWNpZmllZCBvcGVuL2RlbnkgbW9kZXMgY29uZmxpY3Qgd2l0aCBjdXJyZW50IG9wZW4gbW9kZXMKYWZwQ2FudE1vdmUgPSAgIC01MDA1ICAgI01vdmUgZGVzdGluYXRpb24gaXMgb2Zmc3ByaW5nIG9mIHNvdXJjZSwgb3Igcm9vdCB3YXMgc3BlY2lmaWVkCmFmcEJpdG1hcEVyciAgICA9ICAgLTUwMDQgICAjQml0bWFwIGNvbnRhaW5lZCBiaXRzIHVuZGVmaW5lZCBmb3IgY2FsbAphZnBCYWRWZXJzTnVtICAgPSAgIC01MDAzICAgI1Vua25vd24gQUZQIHByb3RvY29sIHZlcnNpb24gbnVtYmVyIHNwZWNpZmllZAphZnBCYWRVQU0gICA9ICAgLTUwMDIgICAjVW5rbm93biB1c2VyIGF1dGhlbnRpY2F0aW9uIG1ldGhvZCBzcGVjaWZpZWQKYWZwQXV0aENvbnRpbnVlID0gICAtNTAwMSAgICNGdXJ0aGVyIGluZm9ybWF0aW9uIHJlcXVpcmVkIHRvIGNvbXBsZXRlIEFGUExvZ2luIGNhbGwKYWZwQWNjZXNzRGVuaWVkID0gICAtNTAwMCAgICNJbnN1ZmZpY2llbnQgYWNjZXNzIHByaXZpbGVnZXMgZm9yIG9wZXJhdGlvbgppbGxlZ2FsU2NyYXBGbGF2b3JTaXplRXJyICAgPSAgIC00OTk5ICAgI2lsbGVnYWxTY3JhcEZsYXZvclNpemVFcnIKaWxsZWdhbFNjcmFwRmxhdm9yVHlwZUVyciAgID0gICAtNDk5OCAgICNpbGxlZ2FsU2NyYXBGbGF2b3JUeXBlRXJyCmlsbGVnYWxTY3JhcEZsYXZvckZsYWdzRXJyICA9ICAgLTQ5OTcgICAjaWxsZWdhbFNjcmFwRmxhdm9yRmxhZ3NFcnIKc2NyYXBGbGF2b3JTaXplTWlzbWF0Y2hFcnIgID0gICAtNDk5NiAgICNzY3JhcEZsYXZvclNpemVNaXNtYXRjaEVycgpzY3JhcEZsYXZvckZsYWdzTWlzbWF0Y2hFcnIgPSAgIC00OTk1ICAgI3NjcmFwRmxhdm9yRmxhZ3NNaXNtYXRjaEVycgpuaWxTY3JhcEZsYXZvckRhdGFFcnIgICA9ICAgLTQ5OTQgICAjbmlsU2NyYXBGbGF2b3JEYXRhRXJyCm5vU2NyYXBQcm9taXNlS2VlcGVyRXJyID0gICAtNDk5MyAgICNub1NjcmFwUHJvbWlzZUtlZXBlckVycgpzY3JhcFByb21pc2VOb3RLZXB0RXJyICA9ICAgLTQ5OTIgICAjc2NyYXBQcm9taXNlTm90S2VwdEVycgpwcm9jZXNzU3RhdGVJbmNvcnJlY3RFcnIgICAgPSAgIC00OTkxICAgI3Byb2Nlc3NTdGF0ZUluY29ycmVjdEVycgpiYWRTY3JhcFJlZkVyciAgPSAgIC00OTkwICAgI2JhZFNjcmFwUmVmRXJyCmR1cGxpY2F0ZVNjcmFwRmxhdm9yRXJyID0gICAtNDk4OSAgICNkdXBsaWNhdGVTY3JhcEZsYXZvckVycgppbnRlcm5hbFNjcmFwRXJyICAgID0gICAtNDk4OCAgICNpbnRlcm5hbFNjcmFwRXJyCmNvcmVGb3VuZGF0aW9uVW5rbm93bkVyciAgICA9ICAgLTQ5NjAgICAjY29yZUZvdW5kYXRpb25Vbmtub3duRXJyCmJhZFJvdXRpbmdTaXplRXJyICAgPSAgIC00Mjc2ICAgI2JhZFJvdXRpbmdTaXplRXJyCnJvdXRpbmdOb3RGb3VuZEVyciAgPSAgIC00Mjc1ICAgI3JvdXRpbmdOb3RGb3VuZEVycgpkdXBsaWNhdGVSb3V0aW5nRXJyID0gICAtNDI3NCAgICNkdXBsaWNhdGVSb3V0aW5nRXJyCmludmFsaWRGb2xkZXJUeXBlRXJyICAgID0gICAtNDI3MyAgICNpbnZhbGlkRm9sZGVyVHlwZUVycgpub01vcmVGb2xkZXJEZXNjRXJyID0gICAtNDI3MiAgICNub01vcmVGb2xkZXJEZXNjRXJyCmR1cGxpY2F0ZUZvbGRlckRlc2NFcnIgID0gICAtNDI3MSAgICNkdXBsaWNhdGVGb2xkZXJEZXNjRXJyCmJhZEZvbGRlckRlc2NFcnIgICAgPSAgIC00MjcwICAgI2JhZEZvbGRlckRlc2NFcnIKY21DYW50R2FtdXRDaGVja0Vycm9yICAgPSAgIC00MjE3ICAgI0dhbW11dCBjaGVja2luZyBub3Qgc3VwcG9ydGVkIGJ5IHRoaXMgQ29sb3JXb3JsZApjbU5hbWVkQ29sb3JOb3RGb3VuZCAgICA9ICAgLTQyMTYgICAjTmFtZWRDb2xvciBub3QgZm91bmQKY21DYW50Q29weU1vZGlmaWVkVjFQcm9maWxlID0gICAtNDIxNSAgICNJbGxlZ2FsIHRvIGNvcHkgdmVyc2lvbiAxIHByb2ZpbGVzIHRoYXQgaGF2ZSBiZWVuIG1vZGlmaWVkCmNtUmFuZ2VPdmVyRmxvdyA9ICAgLTQyMTQgICAjQ29sb3IgY29udmVyc2lvbiB3YXJuaW5nIHRoYXQgc29tZSBvdXRwdXQgY29sb3IgdmFsdWVzIG92ZXIvdW5kZXJmbG93ZWQgYW5kIHdlcmUgY2xpcHBlZApjbUludmFsaWRQcm9maWxlQ29tbWVudCA9ICAgLTQyMTMgICAjQmFkIFByb2ZpbGUgY29tbWVudCBkdXJpbmcgZHJhd3BpY3R1cmUKY21Ob0dEZXZpY2VzRXJyb3IgICA9ICAgLTQyMTIgICAjQmVnaW4vRW5kIE1hdGNoaW5nIC0tIG5vIGdkZXZpY2VzIGF2YWlsYWJsZQpjbUludmFsaWREc3RNYXAgPSAgIC00MjExICAgI0Rlc3RpbmF0aW9uIHBpeC9iaXQgbWFwIHdhcyBpbnZhbGlkCmNtSW52YWxpZFNyY01hcCA9ICAgLTQyMTAgICAjU291cmNlIHBpeC9iaXQgbWFwIHdhcyBpbnZhbGlkCmNtSW52YWxpZENvbG9yU3BhY2UgPSAgIC00MjA5ICAgI1Byb2ZpbGUgY29sb3JzcGFjZSBkb2VzIG5vdCBtYXRjaCBiaXRtYXAgdHlwZQpjbUVyckluY29tcGF0aWJsZVByb2ZpbGUgICAgPSAgIC00MjA4ICAgI090aGVyIENvbG9yU3luYyBFcnJvcnMKY21TZWFyY2hFcnJvciAgID0gICAtNDIwNyAgICNjbVNlYXJjaEVycm9yCmNtSW52YWxpZFNlYXJjaCA9ICAgLTQyMDYgICAjQmFkIFNlYXJjaCBIYW5kbGUKY21JbnZhbGlkUHJvZmlsZUxvY2F0aW9uICAgID0gICAtNDIwNSAgICNPcGVyYXRpb24gbm90IHN1cHBvcnRlZCBmb3IgdGhpcyBwcm9maWxlIGxvY2F0aW9uCmNtSW52YWxpZFByb2ZpbGUgICAgPSAgIC00MjA0ICAgI0EgUHJvZmlsZSBtdXN0IGNvbnRhaW4gYSAnY3MxICcgdGFnIHRvIGJlIHZhbGlkCmNtRmF0YWxQcm9maWxlRXJyICAgPSAgIC00MjAzICAgI2NtRmF0YWxQcm9maWxlRXJyCmNtQ2FudERlbGV0ZUVsZW1lbnQgPSAgIC00MjAyICAgI2NtQ2FudERlbGV0ZUVsZW1lbnQKY21JbmRleFJhbmdlRXJyID0gICAtNDIwMSAgICNUYWcgaW5kZXggb3V0IG9mIHJhbmdlCmtOU0xJbml0aWFsaXphdGlvbkZhaWxlZCAgICA9ICAgLTQyMDAgICAjVU5BQkxFIFRPIElOSVRJQUxJWkUgVEhFIE1BTkFHRVIhISEhISBETyBOT1QgQ09OVElOVUUhISEhCmtOU0xOb3RJbml0aWFsaXplZCAgPSAgIC00MTk5ICAgI2tOU0xOb3RJbml0aWFsaXplZAprTlNMSW5zdWZmaWNpZW50U3lzVmVyICA9ICAgLTQxOTggICAja05TTEluc3VmZmljaWVudFN5c1ZlcgprTlNMSW5zdWZmaWNpZW50T1RWZXIgICA9ICAgLTQxOTcgICAja05TTEluc3VmZmljaWVudE9UVmVyCmtOU0xOb0VsZW1lbnRzSW5MaXN0ICAgID0gICAtNDE5NiAgICNrTlNMTm9FbGVtZW50c0luTGlzdAprTlNMQmFkUmVmZXJlbmNlRXJyID0gICAtNDE5NSAgICNrTlNMQmFkUmVmZXJlbmNlRXJyCmtOU0xCYWRTZXJ2aWNlVHlwZUVyciAgID0gICAtNDE5NCAgICNrTlNMQmFkU2VydmljZVR5cGVFcnIKa05TTEJhZERhdGFUeXBlRXJyICA9ICAgLTQxOTMgICAja05TTEJhZERhdGFUeXBlRXJyCmtOU0xCYWROZXRDb25uZWN0aW9uICAgID0gICAtNDE5MiAgICNrTlNMQmFkTmV0Q29ubmVjdGlvbgprTlNMTm9TdXBwb3J0Rm9yU2VydmljZSA9ICAgLTQxOTEgICAja05TTE5vU3VwcG9ydEZvclNlcnZpY2UKa05TTEludmFsaWRQbHVnaW5TcGVjICAgPSAgIC00MTkwICAgI2tOU0xJbnZhbGlkUGx1Z2luU3BlYwprTlNMUmVxdWVzdEJ1ZmZlckFscmVhZHlJbkxpc3QgID0gICAtNDE4OSAgICNrTlNMUmVxdWVzdEJ1ZmZlckFscmVhZHlJbkxpc3QKa05TTE5vQ29udGV4dEF2YWlsYWJsZSAgPSAgIC00MTg4ICAgIyhDb250aW51ZUxvb2t1cCBmdW5jdGlvbiBwdHIgaW52YWxpZCkKa05TTEJ1ZmZlclRvb1NtYWxsRm9yRGF0YSAgID0gICAtNDE4NyAgICMoQ2xpZW50IGJ1ZmZlciB0b28gc21hbGwgZm9yIGRhdGEgZnJvbSBwbHVnaW4pCmtOU0xDYW5ub3RDb250aW51ZUxvb2t1cCAgICA9ICAgLTQxODYgICAjKENhbid0IGNvbnRpbnVlIGxvb2t1cDsgZXJyb3Igb3IgYmFkIHN0YXRlKQprTlNMQmFkQ2xpZW50SW5mb1B0ciAgICA9ICAgLTQxODUgICAjKG5pbCBDbGllbnRBc3luY0luZm9QdHI7IG5vIHJlZmVyZW5jZSBhdmFpbGFibGUpCmtOU0xOdWxsTGlzdFB0ciA9ICAgLTQxODQgICAjKGNsaWVudCBpcyB0cnlpbmcgdG8gYWRkIGl0ZW1zIHRvIGEgbmlsIGxpc3QpCmtOU0xCYWRQcm90b2NvbFR5cGVFcnIgID0gICAtNDE4MyAgICMoY2xpZW50IGlzIHRyeWluZyB0byBhZGQgYSBudWxsIHByb3RvY29sIHR5cGUpCmtOU0xQbHVnaW5Mb2FkRmFpbGVkICAgID0gICAtNDE4MiAgICMobWFuYWdlciB1bmFibGUgdG8gbG9hZCBvbmUgb2YgdGhlIHBsdWdpbnMpCmtOU0xOb1BsdWdpbnNGb3VuZCAgPSAgIC00MTgxICAgIyhtYW5hZ2VyIGRpZG4ndCBmaW5kIGFueSB2YWxpZCBwbHVnaW5zIHRvIGxvYWQpCmtOU0xTZWFyY2hBbHJlYWR5SW5Qcm9ncmVzcyA9ICAgLTQxODAgICAjKHlvdSBjYW4gb25seSBoYXZlIG9uZSBvbmdvaW5nIHNlYXJjaCBwZXIgY2xpZW50UmVmKQprTlNMTm9QbHVnaW5zRm9yU2VhcmNoICA9ICAgLTQxNzkgICAjKG5vIHBsdWdpbnMgd2lsbCByZXNwb25kIHRvIHNlYXJjaCByZXF1ZXN0OyBiYWQgcHJvdG9jb2wocyk/KQprTlNMTnVsbE5laWdoYm9yaG9vZFB0ciA9ICAgLTQxNzggICAjKGNsaWVudCBwYXNzZWQgYSBudWxsIG5laWdoYm9yaG9vZCBwdHIpCmtOU0xTb21lUGx1Z2luc0ZhaWxlZFRvTG9hZCA9ICAgLTQxNzcgICAjKG9uZSBvciBtb3JlIHBsdWdpbnMgZmFpbGVkIHRvIGxvYWQsIGJ1dCBhdCBsZWFzdCBvbmUgZGlkIGxvYWQ7IHRoaXMgZXJyb3IgaXNuJ3QgZmF0YWwpCmtOU0xFcnJOdWxsUHRyRXJyb3IgPSAgIC00MTc2ICAgI2tOU0xFcnJOdWxsUHRyRXJyb3IKa05TTE5vdEltcGxlbWVudGVkWWV0ICAgPSAgIC00MTc1ICAgI2tOU0xOb3RJbXBsZW1lbnRlZFlldAprTlNMVUlMaWJyYXJ5Tm90QXZhaWxhYmxlICAgPSAgIC00MTc0ICAgI1RoZSBOU0wgVUkgTGlicmFyeSBuZWVkcyB0byBiZSBpbiB0aGUgRXh0ZW5zaW9ucyBGb2xkZXIKa05TTE5vQ2FyYm9uTGliID0gICAtNDE3MyAgICNrTlNMTm9DYXJib25MaWIKa05TTEJhZFVSTFN5bnRheCAgICA9ICAgLTQxNzIgICAjVVJMIGNvbnRhaW5zIGlsbGVnYWwgY2hhcmFjdGVycwprTlNMU2NoZWR1bGVyRXJyb3IgID0gICAtNDE3MSAgICNBIGN1c3RvbSB0aHJlYWQgcm91dGluZSBlbmNvdW50ZXJlZCBhbiBlcnJvcgprTlNMNjhrQ29udGV4dE5vdFN1cHBvcnRlZCAgPSAgIC00MTcwICAgI25vIDY4ayBhbGxvd2VkCm5vSGVscEZvckl0ZW0gICA9ICAgLTQwMDkgICAjbm9IZWxwRm9ySXRlbQpiYWRQcm9maWxlRXJyb3IgPSAgIC00MDA4ICAgI2JhZFByb2ZpbGVFcnJvcgpjb2xvclN5bmNOb3RJbnN0YWxsZWQgICA9ICAgLTQwMDcgICAjY29sb3JTeW5jTm90SW5zdGFsbGVkCnBpY2tlckNhbnRMaXZlICA9ICAgLTQwMDYgICAjcGlja2VyQ2FudExpdmUKY2FudExvYWRQYWNrYWdlID0gICAtNDAwNSAgICNjYW50TG9hZFBhY2thZ2UKY2FudENyZWF0ZVBpY2tlcldpbmRvdyAgPSAgIC00MDA0ICAgI2NhbnRDcmVhdGVQaWNrZXJXaW5kb3cKY2FudExvYWRQaWNrZXIgID0gICAtNDAwMyAgICNjYW50TG9hZFBpY2tlcgpwaWNrZXJSZXNvdXJjZUVycm9yID0gICAtNDAwMiAgICNwaWNrZXJSZXNvdXJjZUVycm9yCnJlcXVpcmVkRmxhZ3NEb250TWF0Y2ggID0gICAtNDAwMSAgICNyZXF1aXJlZEZsYWdzRG9udE1hdGNoCmZpcnN0UGlja2VyRXJyb3IgICAgPSAgIC00MDAwICAgI2ZpcnN0UGlja2VyRXJyb3IKa09UUG9ydExvc3RDb25uZWN0aW9uICAgPSAgIC0zMjg1ICAgIwprT1RVc2VyUmVxdWVzdGVkRXJyID0gICAtMzI4NCAgICMKa09UQ29uZmlndXJhdGlvbkNoYW5nZWRFcnIgID0gICAtMzI4MyAgICMKa09UQmFkQ29uZmlndXJhdGlvbkVyciAgPSAgIC0zMjgyICAgIwprT1RQb3J0V2FzRWplY3RlZEVyciAgICA9ICAgLTMyODEgICAjCmtPVFBvcnRIYXNEaWVkRXJyICAgPSAgIC0zMjgwICAgIwprT1RDbGllbnROb3RJbml0dGVkRXJyICA9ICAgLTMyNzkgICAjCmtFTk9NU0dFcnIgID0gICAtMzI3OCAgICMKa0VTUkNIRXJyICAgPSAgIC0zMjc3ICAgIwprRUlOUFJPR1JFU1NFcnIgPSAgIC0zMjc2ICAgIwprRU5PREFUQUVyciA9ICAgLTMyNzUgICAjCmtFTk9TVFJFcnIgID0gICAtMzI3NCAgICMKa0VDQU5DRUxFcnIgPSAgIC0zMjczICAgIwprRUJBRE1TR0VyciA9ICAgLTMyNzIgICAjCmtFTk9TUkVyciAgID0gICAtMzI3MSAgICMKa0VUSU1FRXJyICAgPSAgIC0zMjcwICAgIwprRVBST1RPRXJyICA9ICAgLTMyNjkgICAjgoKCIGZpbGwgb3V0IG1pc3NpbmcgY29kZXMggoKCCmtFSE9TVFVOUkVBQ0hFcnIgICAgPSAgIC0zMjY0ICAgI05vIHJvdXRlIHRvIGhvc3QKa0VIT1NURE9XTkVyciAgID0gICAtMzI2MyAgICNIb3N0IGlzIGRvd24Ka0VDT05OUkVGVVNFREVyciAgICA9ICAgLTMyNjAgICAjQ29ubmVjdGlvbiByZWZ1c2VkCmtFVElNRURPVVRFcnIgICA9ICAgLTMyNTkgICAjQ29ubmVjdGlvbiB0aW1lZCBvdXQKa0VUT09NQU5ZUkVGU0VyciAgICA9ICAgLTMyNTggICAjVG9vIG1hbnkgcmVmZXJlbmNlczogY2FuJ3Qgc3BsaWNlCmtFU0hVVERPV05FcnIgICA9ICAgLTMyNTcgICAjQ2FuJ3Qgc2VuZCBhZnRlciBzb2NrZXQgc2h1dGRvd24Ka0VOT1RDT05ORXJyICAgID0gICAtMzI1NiAgICNTb2NrZXQgaXMgbm90IGNvbm5lY3RlZAprRUlTQ09OTkVyciA9ICAgLTMyNTUgICAjU29ja2V0IGlzIGFscmVhZHkgY29ubmVjdGVkCmtFTk9CVUZTRXJyID0gICAtMzI1NCAgICNObyBidWZmZXIgc3BhY2UgYXZhaWxhYmxlCmtFQ09OTlJFU0VURXJyICA9ICAgLTMyNTMgICAjQ29ubmVjdGlvbiByZXNldCBieSBwZWVyCmtFQ09OTkFCT1JURURFcnIgICAgPSAgIC0zMjUyICAgI1NvZnR3YXJlIGNhdXNlZCBjb25uZWN0aW9uIGFib3J0CmtFTkVUUkVTRVRFcnIgICA9ICAgLTMyNTEgICAjTmV0d29yayBkcm9wcGVkIGNvbm5lY3Rpb24gb24gcmVzZXQKa0VORVRVTlJFQUNIRXJyID0gICAtMzI1MCAgICNOZXR3b3JrIGlzIHVucmVhY2hhYmxlCmtFTkVURE9XTkVyciAgICA9ICAgLTMyNDkgICAjTmV0d29yayBpcyBkb3duCmtFQUREUk5PVEFWQUlMRXJyICAgPSAgIC0zMjQ4ICAgI0Nhbid0IGFzc2lnbiByZXF1ZXN0ZWQgYWRkcmVzcwprRUFERFJJTlVTRUVyciAgPSAgIC0zMjQ3ICAgI0FkZHJlc3MgYWxyZWFkeSBpbiB1c2UKa0VPUE5PVFNVUFBFcnIgID0gICAtMzI0NCAgICNPcGVyYXRpb24gbm90IHN1cHBvcnRlZCBvbiBzb2NrZXQKa0VTT0NLVE5PU1VQUE9SVEVyciA9ICAgLTMyNDMgICAjU29ja2V0IHR5cGUgbm90IHN1cHBvcnRlZAprRVBST1RPTk9TVVBQT1JURXJyID0gICAtMzI0MiAgICNQcm90b2NvbCBub3Qgc3VwcG9ydGVkCmtFTk9QUk9UT09QVEVyciA9ICAgLTMyNDEgICAjUHJvdG9jb2wgbm90IGF2YWlsYWJsZQprRVBST1RPVFlQRUVyciAgPSAgIC0zMjQwICAgI1Byb3RvY29sIHdyb25nIHR5cGUgZm9yIHNvY2tldAprRU1TR1NJWkVFcnIgICAgPSAgIC0zMjM5ICAgI01lc3NhZ2UgdG9vIGxvbmcKa0VERVNUQUREUlJFUUVyciAgICA9ICAgLTMyMzggICAjRGVzdGluYXRpb24gYWRkcmVzcyByZXF1aXJlZAprRU5PVFNPQ0tFcnIgICAgPSAgIC0zMjM3ICAgI1NvY2tldCBvcGVyYXRpb24gb24gbm9uLXNvY2tldAprRUFMUkVBRFlFcnIgICAgPSAgIC0zMjM2ICAgIwprRVdPVUxEQkxPQ0tFcnIgPSAgIC0zMjM0ICAgI0NhbGwgd291bGQgYmxvY2ssIHNvIHdhcyBhYm9ydGVkCmtFUkFOR0VFcnIgID0gICAtMzIzMyAgICNNZXNzYWdlIHNpemUgdG9vIGxhcmdlIGZvciBTVFJFQU0Ka0VQSVBFRXJyICAgPSAgIC0zMjMxICAgI0Jyb2tlbiBwaXBlCmtFTk9UVFlFcnIgID0gICAtMzIyNCAgICNOb3QgYSBjaGFyYWN0ZXIgZGV2aWNlCmtFSU5WQUxFcnIgID0gICAtMzIyMSAgICNJbnZhbGlkIGFyZ3VtZW50CmtFTk9ERVZFcnIgID0gICAtMzIxOCAgICNObyBzdWNoIGRldmljZQprT1REdXBsaWNhdGVGb3VuZEVyciAgICA9ICAgLTMyMTYgICAjT1QgZ2VuZXJpYyBkdXBsaWNhdGUgZm91bmQgZXJyb3IKa0VCVVNZRXJyICAgPSAgIC0zMjE1ICAgI0RldmljZSBvciByZXNvdXJjZSBidXN5CmtFRkFVTFRFcnIgID0gICAtMzIxMyAgICNCYWQgYWRkcmVzcwprRUFDQ0VTRXJyICA9ICAgLTMyMTIgICAjUGVybWlzc2lvbiBkZW5pZWQKa09UT3V0T2ZNZW1vcnlFcnIgICA9ICAgLTMyMTEgICAjT1QgcmFuIG91dCBvZiBtZW1vcnksIG1heSBiZSBhIHRlbXBvcmFyeQprRUFHQUlORXJyICA9ICAgLTMyMTAgICAjVHJ5IG9wZXJhdGlvbiBhZ2FpbiBsYXRlcgprRUJBREZFcnIgICA9ICAgLTMyMDggICAjQmFkIGZpbGUgbnVtYmVyCmtFTlhJT0VyciAgID0gICAtMzIwNSAgICNObyBzdWNoIGRldmljZSBvciBhZGRyZXNzCmtFSU9FcnIgPSAgIC0zMjA0ICAgI0kvTyBlcnJvcgprRUlOVFJFcnIgICA9ICAgLTMyMDMgICAjSW50ZXJydXB0ZWQgc3lzdGVtIHNlcnZpY2UKa0VOT1JTUkNFcnIgPSAgIC0zMjAyICAgI05vIHN1Y2ggcmVzb3VyY2UKa09UTm90Rm91bmRFcnIgID0gICAtMzIwMSAgICNPVCBnZW5lcmljIG5vdCBmb3VuZCBlcnJvcgprRVBFUk1FcnIgICA9ICAgLTMyMDAgICAjUGVybWlzc2lvbiBkZW5pZWQKa09UQ2FuY2VsZWRFcnIgID0gICAtMzE4MCAgICNYVEkyT1NTdGF0dXMoVENBTkNFTEVEKSBUaGUgY29tbWFuZCB3YXMgY2FuY2VsbGVkCmtPVEJhZFN5bmNFcnIgICA9ICAgLTMxNzkgICAjWFRJMk9TU3RhdHVzKFRCQURTWU5DKSBBIHN5bmNocm9ub3VzIGNhbGwgYXQgaW50ZXJydXB0IHRpbWUKa09UUHJvdG9jb2xFcnIgID0gICAtMzE3OCAgICNYVEkyT1NTdGF0dXMoVFBST1RPKSBBbiB1bnNwZWNpZmllZCBwcm92aWRlciBlcnJvciBvY2N1cnJlZAprT1RRRnVsbEVyciA9ICAgLTMxNzcgICAjWFRJMk9TU3RhdHVzKFRRRlVMTCkKa09UUmVzQWRkcmVzc0VyciAgICA9ICAgLTMxNzYgICAjWFRJMk9TU3RhdHVzKFRSRVNBRERSKQprT1RSZXNRTGVuRXJyICAgPSAgIC0zMTc1ICAgI1hUSTJPU1N0YXR1cyhUUkVTUUxFTikKa09UUHJvdmlkZXJNaXNtYXRjaEVyciAgPSAgIC0zMTc0ICAgI1hUSTJPU1N0YXR1cyhUUFJPVk1JU01BVENIKSBUcmllZCB0byBhY2NlcHQgb24gaW5jb21wYXRpYmxlIGVuZHBvaW50CmtPVEluZE91dEVyciAgICA9ICAgLTMxNzMgICAjWFRJMk9TU3RhdHVzKFRJTkRPVVQpIEFjY2VwdCBmYWlsZWQgYmVjYXVzZSBvZiBwZW5kaW5nIGxpc3RlbgprT1RBZGRyZXNzQnVzeUVyciAgID0gICAtMzE3MiAgICNYVEkyT1NTdGF0dXMoVEFERFJCVVNZKSBBZGRyZXNzIHJlcXVlc3RlZCBpcyBhbHJlYWR5IGluIHVzZQprT1RCYWRRTGVuRXJyICAgPSAgIC0zMTcxICAgI1hUSTJPU1N0YXR1cyhUQkFEUUxFTikgQSBCaW5kIHRvIGFuIGluLXVzZSBhZGRyIHdpdGggcWxlbiA+IDAKa09UQmFkTmFtZUVyciAgID0gICAtMzE3MCAgICNYVEkyT1NTdGF0dXMoVEJBRE5BTUUpIEEgYmFkIGVuZHBvaW50IG5hbWUgd2FzIHN1cHBsaWVkCmtPVE5vU3RydWN0dXJlVHlwZUVyciAgID0gICAtMzE2OSAgICNYVEkyT1NTdGF0dXMoVE5PU1RSVUNUWVBFKSBCYWQgc3RydWN0dXJlIHR5cGUgcmVxdWVzdGVkIGZvciBPVEFsbG9jCmtPVFN0YXRlQ2hhbmdlRXJyICAgPSAgIC0zMTY4ICAgI1hUSTJPU1N0YXR1cyhUU1RBVEVDSE5HKSBTdGF0ZSBpcyBjaGFuZ2luZyAtIHRyeSBhZ2FpbiBsYXRlcgprT1ROb3RTdXBwb3J0ZWRFcnIgID0gICAtMzE2NyAgICNYVEkyT1NTdGF0dXMoVE5PVFNVUFBPUlQpIENvbW1hbmQgaXMgbm90IHN1cHBvcnRlZAprT1ROb1JlbGVhc2VFcnIgPSAgIC0zMTY2ICAgI1hUSTJPU1N0YXR1cyhUTk9SRUwpIE5vIG9yZGVybHkgcmVsZWFzZSBpbmRpY2F0aW9uIGF2YWlsYWJsZQprT1RCYWRGbGFnRXJyICAgPSAgIC0zMTY1ICAgI1hUSTJPU1N0YXR1cyhUQkFERkxBRykgQSBCYWQgZmxhZyB2YWx1ZSB3YXMgc3VwcGxpZWQKa09UTm9VREVyckVyciAgID0gICAtMzE2NCAgICNYVEkyT1NTdGF0dXMoVE5PVURFUlIpIE5vIFVuaXQgRGF0YSBFcnJvciBpbmRpY2F0aW9uIGF2YWlsYWJsZQprT1ROb0Rpc2Nvbm5lY3RFcnIgID0gICAtMzE2MyAgICNYVEkyT1NTdGF0dXMoVE5PRElTKSBObyBkaXNjb25uZWN0IGluZGljYXRpb24gYXZhaWxhYmxlCmtPVE5vRGF0YUVyciAgICA9ICAgLTMxNjIgICAjWFRJMk9TU3RhdHVzKFROT0RBVEEpIE5vIGRhdGEgYXZhaWxhYmxlIGZvciByZWFkaW5nCmtPVEZsb3dFcnIgID0gICAtMzE2MSAgICNYVEkyT1NTdGF0dXMoVEZMT1cpIFByb3ZpZGVyIGlzIGZsb3ctY29udHJvbGxlZAprT1RCdWZmZXJPdmVyZmxvd0VyciAgICA9ICAgLTMxNjAgICAjWFRJMk9TU3RhdHVzKFRCVUZPVkZMVykgUGFzc2VkIGJ1ZmZlciBub3QgYmlnIGVub3VnaAprT1RCYWREYXRhRXJyICAgPSAgIC0zMTU5ICAgI1hUSTJPU1N0YXR1cyhUQkFEREFUQSkgQW4gaWxsZWdhbCBhbW91bnQgb2YgZGF0YSB3YXMgc3BlY2lmaWVkCmtPVExvb2tFcnIgID0gICAtMzE1OCAgICNYVEkyT1NTdGF0dXMoVExPT0spIEFuIGV2ZW50IG9jY3VycmVkIC0gY2FsbCBMb29rKCkKa09UU3lzRXJyb3JFcnIgID0gICAtMzE1NyAgICNYVEkyT1NTdGF0dXMoVFNZU0VSUikgQSBzeXN0ZW0gZXJyb3Igb2NjdXJyZWQKa09UQmFkU2VxdWVuY2VFcnIgICA9ICAgLTMxNTYgICAjWFRJMk9TU3RhdHVzKFRCQURTRVEpIFNlcXVlbmNlIHNwZWNpZmllZCBkb2VzIG5vdCBleGlzdAprT1RPdXRTdGF0ZUVyciAgPSAgIC0zMTU1ICAgI1hUSTJPU1N0YXR1cyhUT1VUU1RBVEUpIENhbGwgaXNzdWVkIGluIHdyb25nIHN0YXRlCmtPVE5vQWRkcmVzc0VyciA9ICAgLTMxNTQgICAjWFRJMk9TU3RhdHVzKFROT0FERFIpIE5vIGFkZHJlc3Mgd2FzIHNwZWNpZmllZAprT1RCYWRSZWZlcmVuY2VFcnIgID0gICAtMzE1MyAgICNYVEkyT1NTdGF0dXMoVEJBREYpIEJhZCBwcm92aWRlciByZWZlcmVuY2UKa09UQWNjZXNzRXJyICAgID0gICAtMzE1MiAgICNYVEkyT1NTdGF0dXMoVEFDQ0VTKSBNaXNzaW5nIGFjY2VzcyBwZXJtaXNzaW9uCmtPVEJhZE9wdGlvbkVyciA9ICAgLTMxNTEgICAjWFRJMk9TU3RhdHVzKFRCQURPUFQpIEEgQmFkIG9wdGlvbiB3YXMgc3BlY2lmaWVkCmtPVEJhZEFkZHJlc3NFcnIgICAgPSAgIC0zMTUwICAgI1hUSTJPU1N0YXR1cyhUQkFEQUREUikgQSBCYWQgYWRkcmVzcyB3YXMgc3BlY2lmaWVkCnNrdENsb3NlZEVyciAgICA9ICAgLTMxMDkgICAjc2t0Q2xvc2VkRXJyCnJlY05vdEZuZCAgID0gICAtMzEwOCAgICNyZWNOb3RGbmQKYXRwQmFkUnNwICAgPSAgIC0zMTA3ICAgI2F0cEJhZFJzcAphdHBMZW5FcnIgICA9ICAgLTMxMDYgICAjYXRwTGVuRXJyCnJlYWRRRXJyICAgID0gICAtMzEwNSAgICNyZWFkUUVycgpleHRyYWN0RXJyICA9ICAgLTMxMDQgICAjZXh0cmFjdEVycgpja1N1bUVyciAgICA9ICAgLTMxMDMgICAjY2tTdW1FcnIKbm9NUFBFcnIgICAgPSAgIC0zMTAyICAgI25vTVBQRXJyCmJ1ZjJTbWFsbEVyciAgICA9ICAgLTMxMDEgICAjYnVmMlNtYWxsRXJyCm5vUHJlZkFwcEVyciAgICA9ICAgLTMwMzIgICAjbm9QcmVmQXBwRXJyCmJhZFRyYW5zbGF0aW9uU3BlY0VyciAgID0gICAtMzAzMSAgICNiYWRUcmFuc2xhdGlvblNwZWNFcnIKbm9UcmFuc2xhdGlvblBhdGhFcnIgICAgPSAgIC0zMDMwICAgI25vVHJhbnNsYXRpb25QYXRoRXJyCmNvdWxkTm90UGFyc2VTb3VyY2VGaWxlRXJyICA9ICAgLTMwMjYgICAjU291cmNlIGRvY3VtZW50IGRvZXMgbm90IGNvbnRhaW4gc291cmNlIHR5cGUKaW52YWxpZFRyYW5zbGF0aW9uUGF0aEVyciAgID0gICAtMzAyNSAgICNTb3VyY2UgdHlwZSB0byBkZXN0aW5hdGlvbiB0eXBlIG5vdCBhIHZhbGlkIHBhdGgKcmV0cnlDb21wb25lbnRSZWdpc3RyYXRpb25FcnIgICA9ICAgLTMwMDUgICAjcmV0cnlDb21wb25lbnRSZWdpc3RyYXRpb25FcnIKdW5yZXNvbHZlZENvbXBvbmVudERMTEVyciAgID0gICAtMzAwNCAgICN1bnJlc29sdmVkQ29tcG9uZW50RExMRXJyCmNvbXBvbmVudERvbnRSZWdpc3RlciAgID0gICAtMzAwMyAgICNjb21wb25lbnREb250UmVnaXN0ZXIKY29tcG9uZW50Tm90Q2FwdHVyZWQgICAgPSAgIC0zMDAyICAgI2NvbXBvbmVudE5vdENhcHR1cmVkCnZhbGlkSW5zdGFuY2VzRXhpc3QgPSAgIC0zMDAxICAgI3ZhbGlkSW5zdGFuY2VzRXhpc3QKaW52YWxpZENvbXBvbmVudElEICA9ICAgLTMwMDAgICAjaW52YWxpZENvbXBvbmVudElECmNmcmFnTGFzdEVyckNvZGUgICAgPSAgIC0yODk5ICAgI1RoZSBsYXN0IHZhbHVlIGluIHRoZSByYW5nZSBvZiBDRk0gZXJyb3JzLgpjZnJhZ091dHB1dExlbmd0aEVyciAgICA9ICAgLTI4MzEgICAjQW4gb3V0cHV0IHBhcmFtZXRlciBpcyB0b28gc21hbGwgdG8gaG9sZCB0aGUgdmFsdWUuCmNmcmFnQWJvcnRDbG9zdXJlRXJyICAgID0gICAtMjgzMCAgICNVc2VkIGJ5IG5vdGlmaWNhdGlvbiBoYW5kbGVycyB0byBhYm9ydCBhIGNsb3N1cmUuCmNmcmFnQ2xvc3VyZUlERXJyICAgPSAgIC0yODI5ICAgI1RoZSBjbG9zdXJlIElEIHdhcyBub3QgdmFsaWQuCmNmcmFnQ29udGFpbmVySURFcnIgPSAgIC0yODI4ICAgI1RoZSBmcmFnbWVudCBjb250YWluZXIgSUQgd2FzIG5vdCB2YWxpZC4KY2ZyYWdOb1JlZ2lzdHJhdGlvbkVyciAgPSAgIC0yODI3ICAgI1RoZSByZWdpc3RyYXRpb24gbmFtZSB3YXMgbm90IGZvdW5kLgpjZnJhZ05vdENsb3N1cmVFcnIgID0gICAtMjgyNiAgICNUaGUgY2xvc3VyZSBJRCB3YXMgYWN0dWFsbHkgYSBjb25uZWN0aW9uIElELgpjZnJhZ0ZpbGVTaXplRXJyICAgID0gICAtMjgyNSAgICNBIGZpbGUgd2FzIHRvbyBsYXJnZSB0byBiZSBtYXBwZWQuCmNmcmFnRnJhZ21lbnRVc2FnZUVyciAgID0gICAtMjgyNCAgICNBIHNlbWFudGljIGVycm9yIGluIHVzYWdlIG9mIHRoZSBmcmFnbWVudC4KY2ZyYWdBcmNoaXRlY3R1cmVFcnIgICAgPSAgIC0yODIzICAgI0EgZnJhZ21lbnQgaGFzIGFuIHVuYWNjZXB0YWJsZSBhcmNoaXRlY3R1cmUuCmNmcmFnTm9BcHBsaWNhdGlvbkVyciAgID0gICAtMjgyMiAgICNObyBhcHBsaWNhdGlvbiBtZW1iZXIgZm91bmQgaW4gdGhlIGNmcmcgcmVzb3VyY2UuCmNmcmFnSW5pdEZ1bmN0aW9uRXJyICAgID0gICAtMjgyMSAgICNBIGZyYWdtZW50J3MgaW5pdGlhbGl6YXRpb24gcm91dGluZSByZXR1cm5lZCBhbiBlcnJvci4KY2ZyYWdGcmFnbWVudENvcnJ1cHRFcnIgPSAgIC0yODIwICAgI0EgZnJhZ21lbnQncyBjb250YWluZXIgd2FzIGNvcnJ1cHQgKGtub3duIGZvcm1hdCkuCmNmcmFnQ0ZNSW50ZXJuYWxFcnIgPSAgIC0yODE5ICAgI0FuIGludGVybmFsIGluY29uc3Rpc3RhbmN5IGhhcyBiZWVuIGRldGVjdGVkLgpjZnJhZ0NGTVN0YXJ0dXBFcnIgID0gICAtMjgxOCAgICNJbnRlcm5hbCBlcnJvciBkdXJpbmcgQ0ZNIGluaXRpYWxpemF0aW9uLgpjZnJhZ0xpYkNvbm5FcnIgPSAgIC0yODE3ICAgIwpjZnJhZ0luaXRBdEJvb3RFcnIgID0gICAtMjgxNiAgICNBIGJvb3QgbGlicmFyeSBoYXMgYW4gaW5pdGlhbGl6YXRpb24gZnVuY3Rpb24uICAoU3lzdGVtIDcgb25seSkKY2ZyYWdJbml0TG9vcEVyciAgICA9ICAgLTI4MTUgICAjQ2lyY3VsYXJpdHkgaW4gcmVxdWlyZWQgaW5pdGlhbGl6YXRpb24gb3JkZXIuCmNmcmFnSW1wb3J0VG9vTmV3RXJyICAgID0gICAtMjgxNCAgICNBbiBpbXBvcnQgbGlicmFyeSB3YXMgdG9vIG5ldyBmb3IgYSBjbGllbnQuCmNmcmFnSW1wb3J0VG9vT2xkRXJyICAgID0gICAtMjgxMyAgICNBbiBpbXBvcnQgbGlicmFyeSB3YXMgdG9vIG9sZCBmb3IgYSBjbGllbnQuCmNmcmFnSW5pdE9yZGVyRXJyICAgPSAgIC0yODEyICAgIwpjZnJhZ05vSURzRXJyICAgPSAgIC0yODExICAgI05vIG1vcmUgQ0ZNIElEcyBmb3IgY29udGV4dHMsIGNvbm5lY3Rpb25zLCBldGMuCmNmcmFnTm9DbGllbnRNZW1FcnIgPSAgIC0yODEwICAgI091dCBvZiBtZW1vcnkgZm9yIGZyYWdtZW50IG1hcHBpbmcgb3Igc2VjdGlvbiBpbnN0YW5jZXMuCmNmcmFnTm9Qcml2YXRlTWVtRXJyICAgID0gICAtMjgwOSAgICNPdXQgb2YgbWVtb3J5IGZvciBpbnRlcm5hbCBib29ra2VlcGluZy4KY2ZyYWdOb1Bvc2l0aW9uRXJyICA9ICAgLTI4MDggICAjVGhlIHJlZ2lzdHJhdGlvbiBpbnNlcnRpb24gcG9pbnQgd2FzIG5vdCBmb3VuZC4KY2ZyYWdVbnJlc29sdmVkRXJyICA9ICAgLTI4MDcgICAjQSBmcmFnbWVudCBoYWQgImhhcmQiIHVucmVzb2x2ZWQgaW1wb3J0cy4KY2ZyYWdGcmFnbWVudEZvcm1hdEVyciAgPSAgIC0yODA2ICAgI0EgZnJhZ21lbnQncyBjb250YWluZXIgZm9ybWF0IGlzIHVua25vd24uCmNmcmFnRHVwUmVnaXN0cmF0aW9uRXJyID0gICAtMjgwNSAgICNUaGUgcmVnaXN0cmF0aW9uIG5hbWUgd2FzIGFscmVhZHkgaW4gdXNlLgpjZnJhZ05vTGlicmFyeUVyciAgID0gICAtMjgwNCAgICNUaGUgbmFtZWQgbGlicmFyeSB3YXMgbm90IGZvdW5kLgpjZnJhZ05vU2VjdGlvbkVyciAgID0gICAtMjgwMyAgICNUaGUgc3BlY2lmaWVkIHNlY3Rpb24gd2FzIG5vdCBmb3VuZC4KY2ZyYWdOb1N5bWJvbEVyciAgICA9ICAgLTI4MDIgICAjVGhlIHNwZWNpZmllZCBzeW1ib2wgd2FzIG5vdCBmb3VuZC4KY2ZyYWdDb25uZWN0aW9uSURFcnIgICAgPSAgIC0yODAxICAgI1RoZSBjb25uZWN0aW9uIElEIHdhcyBub3QgdmFsaWQuCmNmcmFnRmlyc3RFcnJDb2RlICAgPSAgIC0yODAwICAgI1RoZSBmaXJzdCB2YWx1ZSBpbiB0aGUgcmFuZ2Ugb2YgQ0ZNIGVycm9ycy4KZXJyQVNJbmNvbnNpc3RlbnROYW1lcyAgPSAgIC0yNzgwICAgI0VuZ2xpc2ggZXJyb3JzOgplcnJBU05vUmVzdWx0UmV0dXJuZWQgICA9ICAgLTI3NjMgICAjVGhlIHJhbmdlIC0yNzgwIHRocnUgLTI3OTkgaXMgcmVzZXJ2ZWQgZm9yIGRpYWxlY3Qgc3BlY2lmaWMgZXJyb3IgY29kZXMuIChFcnJvciBjb2RlcyBmcm9tIGRpZmZlcmVudCBkaWFsZWN0cyBtYXkgb3ZlcmxhcC4pCmVyckFTUGFyYW1ldGVyTm90Rm9yRXZlbnQgICA9ICAgLTI3NjIgICAjZXJyQVNQYXJhbWV0ZXJOb3RGb3JFdmVudAplcnJBU0lsbGVnYWxGb3JtYWxQYXJhbWV0ZXIgPSAgIC0yNzYxICAgI2VyckFTSWxsZWdhbEZvcm1hbFBhcmFtZXRlcgplcnJBU1Rlcm1pbm9sb2d5TmVzdGluZ1Rvb0RlZXAgID0gICAtMjc2MCAgICNlcnJBU1Rlcm1pbm9sb2d5TmVzdGluZ1Rvb0RlZXAKT1NBQ29udHJvbEZsb3dFcnJvciA9ICAgLTI3NTUgICAjU2lnbmFsZWQgd2hlbiBpbGxlZ2FsIGNvbnRyb2wgZmxvdyBvY2N1cnMgaW4gYW4gYXBwbGljYXRpb24gKG5vIGNhdGNoZXIgZm9yIHRocm93LCBub24tbGV4aWNhbCBsb29wIGV4aXQsIGV0Yy4pCk9TQUluY29uc2lzdGVudERlY2xhcmF0aW9ucyA9ICAgLTI3NTQgICAjU2lnbmFsZWQgd2hlbiBhIHZhcmlhYmxlIGlzIGRlY2xhcmVkIGluY29uc2lzdGVudGx5IGluIHRoZSBzYW1lIHNjb3BlLCBzdWNoIGFzIGJvdGggbG9jYWwgYW5kIGdsb2JhbApPU0FVbmRlZmluZWRWYXJpYWJsZSAgICA9ICAgLTI3NTMgICAjU2lnbmFsZWQgd2hlbiBhIHZhcmlhYmxlIGlzIGFjY2Vzc2VkIHRoYXQgaGFzIG5vIHZhbHVlCk9TQUR1cGxpY2F0ZUhhbmRsZXIgPSAgIC0yNzUyICAgI1NpZ25hbGVkIHdoZW4gbW9yZSB0aGFuIG9uZSBoYW5kbGVyIGlzIGRlZmluZWQgd2l0aCB0aGUgc2FtZSBuYW1lIGluIGEgc2NvcGUgd2hlcmUgdGhlIGxhbmd1YWdlIGRvZXNuJ3QgYWxsb3cgaXQKT1NBRHVwbGljYXRlUHJvcGVydHkgICAgPSAgIC0yNzUxICAgI1NpZ25hbGVkIHdoZW4gYSBmb3JtYWwgcGFyYW1ldGVyLCBsb2NhbCB2YXJpYWJsZSwgb3IgaW5zdGFuY2UgdmFyaWFibGUgaXMgc3BlY2lmaWVkIG1vcmUgdGhhbiBvbmNlLgpPU0FEdXBsaWNhdGVQYXJhbWV0ZXIgICA9ICAgLTI3NTAgICAjU2lnbmFsZWQgd2hlbiBhIGZvcm1hbCBwYXJhbWV0ZXIsIGxvY2FsIHZhcmlhYmxlLCBvciBpbnN0YW5jZSB2YXJpYWJsZSBpcyBzcGVjaWZpZWQgbW9yZSB0aGFuIG9uY2UKT1NBVG9rZW5Ub29Mb25nID0gICAtMjc0MiAgICNTaWduYWxlZCB3aGVuIGEgbmFtZSBvciBudW1iZXIgaXMgdG9vIGxvbmcgdG8gYmUgcGFyc2VkCk9TQVN5bnRheFR5cGVFcnJvciAgPSAgIC0yNzQxICAgI1NpZ25hbGVkIHdoZW4gYW5vdGhlciBmb3JtIG9mIHN5bnRheCB3YXMgZXhwZWN0ZWQuIChlLmcuICJleHBlY3RlZCBhIDx0eXBlPiBidXQgZm91bmQgPHRoaXM+IikKT1NBU3ludGF4RXJyb3IgID0gICAtMjc0MCAgICNTaWduYWxlZCB3aGVuIGEgc3ludGF4IGVycm9yIG9jY3Vycy4gKGUuZy4gIlN5bnRheCBlcnJvciIgb3IgIjx0aGlzPiBjYW4ndCBnbyBhZnRlciA8dGhhdD4iKQplcnJBU0NhbnRDb21wYXJlTW9yZVRoYW4zMmsgPSAgIC0yNzIxICAgI1BhcnNlci9Db21waWxlciBlcnJvcnM6CmVyckFTQ2FudENvbnNpZGVyQW5kSWdub3JlICA9ICAgLTI3MjAgICAjZXJyQVNDYW50Q29uc2lkZXJBbmRJZ25vcmUKZXJyT1NBQ2FudENyZWF0ZSAgICA9ICAgLTI3MTAgICAjZXJyT1NBQ2FudENyZWF0ZQplcnJPU0FDYW50R2V0VGVybWlub2xvZ3kgICAgPSAgIC0yNzA5ICAgI2Vyck9TQUNhbnRHZXRUZXJtaW5vbG9neQplcnJPU0FEYXRhQmxvY2tUb29MYXJnZSA9ICAgLTI3MDggICAjU2lnbmFsZWQgd2hlbiBhbiBpbnRyaW5zaWMgbGltaXRhdGlvbiBpcyBleGNlZWRlZCBmb3IgdGhlIHNpemUgb2YgYSB2YWx1ZSBvciBkYXRhIHN0cnVjdHVyZS4KZXJyT1NBSW50ZXJuYWxUYWJsZU92ZXJmbG93ID0gICAtMjcwNyAgICNTaWduYWxlZCB3aGVuIGEgcnVudGltZSBpbnRlcm5hbCBkYXRhIHN0cnVjdHVyZSBvdmVyZmxvd3MKZXJyT1NBU3RhY2tPdmVyZmxvdyA9ICAgLTI3MDYgICAjU2lnbmFsZWQgd2hlbiB0aGUgcnVudGltZSBzdGFjayBvdmVyZmxvd3MKZXJyT1NBQ29ycnVwdFRlcm1pbm9sb2d5ICAgID0gICAtMjcwNSAgICNTaWduYWxlZCB3aGVuIGFuIGFwcGxpY2F0aW9uJ3MgdGVybWlub2xvZ3kgcmVzb3VyY2UgaXMgbm90IHJlYWRhYmxlCmVyck9TQUFwcE5vdEhpZ2hMZXZlbEV2ZW50QXdhcmUgPSAgIC0yNzA0ICAgI1NpZ25hbGVkIHdoZW4gYW4gYXBwbGljYXRpb24gY2FuJ3QgcmVzcG9uZCB0byBBcHBsZUV2ZW50cwplcnJPU0FDYW50TGF1bmNoICAgID0gICAtMjcwMyAgICNTaWduYWxlZCB3aGVuIGFwcGxpY2F0aW9uIGNhbid0IGJlIGxhdW5jaGVkIG9yIHdoZW4gaXQgaXMgcmVtb3RlIGFuZCBwcm9ncmFtIGxpbmtpbmcgaXMgbm90IGVuYWJsZWQKZXJyT1NBTnVtZXJpY092ZXJmbG93ICAgPSAgIC0yNzAyICAgI1NpZ25hbGVkIHdoZW4gaW50ZWdlciBvciByZWFsIHZhbHVlIGlzIHRvbyBsYXJnZSB0byBiZSByZXByZXNlbnRlZAplcnJPU0FEaXZpZGVCeVplcm8gID0gICAtMjcwMSAgICNTaWduYWxlZCB3aGVuIHRoZXJlIGlzIGFuIGF0dGVtcHQgdG8gZGl2aWRlIGJ5IHplcm8KZXJyT1NBR2VuZXJhbEVycm9yICA9ICAgLTI3MDAgICAjU2lnbmFsZWQgYnkgdXNlciBzY3JpcHRzIG9yIGFwcGxpY2F0aW9ucyB3aGVuIG5vIGFjdHVhbCBlcnJvciBjb2RlIGlzIHRvIGJlIHJldHVybmVkLgpub0ljb25EYXRhQXZhaWxhYmxlRXJyICA9ICAgLTI1ODIgICAjVGhlIG5lY2Vzc2FyeSBpY29uIGRhdGEgaXMgbm90IGF2YWlsYWJsZQpub1N1Y2hJY29uRXJyICAgPSAgIC0yNTgxICAgI1RoZSByZXF1ZXN0ZWQgaWNvbiBjb3VsZCBub3QgYmUgZm91bmQKaW52YWxpZEljb25SZWZFcnIgICA9ICAgLTI1ODAgICAjVGhlIGljb24gcmVmIGlzIG5vdCB2YWxpZApuckNhbGxOb3RTdXBwb3J0ZWQgID0gICAtMjU1NyAgICNUaGlzIGNhbGwgaXMgbm90IGF2YWlsYWJsZSBvciBzdXBwb3J0ZWQgb24gdGhpcyBtYWNoaW5lCm5yVHJhbnNhY3Rpb25BYm9ydGVkICAgID0gICAtMjU1NiAgICN0cmFuc2FjdGlvbiB3YXMgYWJvcnRlZApuckV4aXRlZEl0ZXJhdG9yU2NvcGUgICA9ICAgLTI1NTUgICAjb3V0ZXIgc2NvcGUgb2YgaXRlcmF0b3Igd2FzIGV4aXRlZApuckl0ZXJhdGlvbkRvbmUgPSAgIC0yNTU0ICAgI2l0ZXJhdGlvbiBvcGVyYXRpb24gaXMgZG9uZQpuclByb3BlcnR5QWxyZWFkeUV4aXN0cyA9ICAgLTI1NTMgICAjcHJvcGVydHkgYWxyZWFkeSBleGlzdHMKbnJJbnZhbGlkRW50cnlJdGVyYXRpb25PcCAgID0gICAtMjU1MiAgICNpbnZhbGlkIGVudHJ5IGl0ZXJhdGlvbiBvcGVyYXRpb24KbnJQYXRoQnVmZmVyVG9vU21hbGwgICAgPSAgIC0yNTUxICAgI2J1ZmZlciBmb3IgcGF0aCBpcyB0b28gc21hbGwKbnJQYXRoTm90Rm91bmQgID0gICAtMjU1MCAgICNhIHBhdGggY29tcG9uZW50IGxvb2t1cCBmYWlsZWQKbnJSZXN1bHRDb2RlQmFzZSAgICA9ICAgLTI1NDkgICAjbnJSZXN1bHRDb2RlQmFzZQpuck92ZXJydW5FcnIgICAgPSAgIC0yNTQ4ICAgI25yT3ZlcnJ1bkVycgpuck5vdE1vZGlmaWVkRXJyICAgID0gICAtMjU0NyAgICNuck5vdE1vZGlmaWVkRXJyCm5yVHlwZU1pc21hdGNoRXJyICAgPSAgIC0yNTQ2ICAgI25yVHlwZU1pc21hdGNoRXJyCm5yUG93ZXJTd2l0Y2hBYm9ydEVyciAgID0gICAtMjU0NSAgICNuclBvd2VyU3dpdGNoQWJvcnRFcnIKbnJQb3dlckVyciAgPSAgIC0yNTQ0ICAgI25yUG93ZXJFcnIKbnJEYXRhVHJ1bmNhdGVkRXJyICA9ICAgLTI1NDMgICAjbnJEYXRhVHJ1bmNhdGVkRXJyCm5yTm90U2xvdERldmljZUVyciAgPSAgIC0yNTQyICAgI25yTm90U2xvdERldmljZUVycgpuck5hbWVFcnIgICA9ICAgLTI1NDEgICAjbnJOYW1lRXJyCm5yTm90Q3JlYXRlZEVyciA9ICAgLTI1NDAgICAjbnJOb3RDcmVhdGVkRXJyCm5yTm90Rm91bmRFcnIgICA9ICAgLTI1MzkgICAjbnJOb3RGb3VuZEVycgpuckludmFsaWROb2RlRXJyICAgID0gICAtMjUzOCAgICNuckludmFsaWROb2RlRXJyCm5yTm90RW5vdWdoTWVtb3J5RXJyICAgID0gICAtMjUzNyAgICNuck5vdEVub3VnaE1lbW9yeUVycgpuckxvY2tlZEVyciA9ICAgLTI1MzYgICAjbnJMb2NrZWRFcnIKbW1JbnRlcm5hbEVycm9yID0gICAtMjUyNiAgICNtbUludGVybmFsRXJyb3IKdHNtRGVmYXVsdElzTm90SW5wdXRNZXRob2RFcnIgICA9ICAgLTI1MjQgICAjQ3VycmVudCBJbnB1dCBzb3VyY2UgaXMgS0NIUiBvciB1Y2hyLCBub3QgSW5wdXQgTWV0aG9kICAoR2V0RGVmYXVsdElucHV0TWV0aG9kKQp0c21Ob1N0ZW0gICA9ICAgLTI1MjMgICAjTm8gc3RlbSBleGlzdHMgZm9yIHRoZSB0b2tlbgp0c21Ob01vcmVUb2tlbnMgPSAgIC0yNTIyICAgI05vIG1vcmUgdG9rZW5zIGFyZSBhdmFpbGFibGUgZm9yIHRoZSBzb3VyY2UgdGV4dAp0c21Ob0hhbmRsZXIgICAgPSAgIC0yNTIxICAgI05vIENhbGxiYWNrIEhhbmRsZXIgZXhpc3RzIGZvciBjYWxsYmFjawp0c21JbnZhbGlkQ29udGV4dCAgID0gICAtMjUyMCAgICNJbnZhbGlkIFRTTUNvbnRleHQgc3BlY2lmaWVkIGluIGNhbGwKdHNtVW5rbm93bkVyciAgID0gICAtMjUxOSAgICNhbnkgb3RoZXIgZXJyb3JzCnRzbVVuc3VwcG9ydGVkVHlwZUVyciAgID0gICAtMjUxOCAgICN1blN1cHBvcnRlZCBpbnRlcmZhY2UgdHlwZSBlcnJvcgp0c21TY3JpcHRIYXNOb0lNRXJyID0gICAtMjUxNyAgICNzY3JpcHQgaGFzIG5vIGltcHV0IG1ldGhvZCBvciBpcyB1c2luZyBvbGQgSU0KdHNtSW5wdXRNZXRob2RJc09sZEVyciAgPSAgIC0yNTE2ICAgI3JldHVybmVkIGJ5IEdldERlZmF1bHRJbnB1dE1ldGhvZAp0c21Db21wb25lbnRBbHJlYWR5T3BlbkVyciAgPSAgIC0yNTE1ICAgI3RleHQgc2VydmljZSBhbHJlYWR5IG9wZW5lZCBmb3IgdGhlIGRvY3VtZW50CnRzbVRTTm90T3BlbkVyciA9ICAgLTI1MTQgICAjdGV4dCBzZXJ2aWNlIGlzIG5vdCBvcGVuCnRzbVRTSGFzTm9NZW51RXJyICAgPSAgIC0yNTEzICAgI3RoZSB0ZXh0IHNlcnZpY2UgaGFzIG5vIG1lbnUKdHNtVXNlSW5wdXRXaW5kb3dFcnIgICAgPSAgIC0yNTEyICAgI25vdCBUU00gYXdhcmUgYmVjYXVzZSB3ZSBhcmUgdXNpbmcgaW5wdXQgd2luZG93CnRzbURvY3VtZW50T3BlbkVyciAgPSAgIC0yNTExICAgI3RoZXJlIGFyZSBvcGVuIGRvY3VtZW50cwp0c21UZXh0U2VydmljZU5vdEZvdW5kRXJyICAgPSAgIC0yNTEwICAgI25vIHRleHQgc2VydmljZSBmb3VuZAp0c21DYW50T3BlbkNvbXBvbmVudEVyciA9ICAgLTI1MDkgICAjY2Fu1XQgb3BlbiB0aGUgY29tcG9uZW50CnRzbU5vT3BlblRTRXJyICA9ICAgLTI1MDggICAjbm8gb3BlbiB0ZXh0IHNlcnZpY2UKdHNtRG9jTm90QWN0aXZlRXJyICA9ICAgLTI1MDcgICAjZG9jdW1lbnQgaXMgTk9UIGFjdGl2ZQp0c21UU01Eb2NCdXN5RXJyICAgID0gICAtMjUwNiAgICNkb2N1bWVudCBpcyBzdGlsbCBhY3RpdmUKdHNtSW52YWxpZERvY0lERXJyICA9ICAgLTI1MDUgICAjaW52YWxpZCBUU00gZG9jdW1lbnRhdGlvbiBpZAp0c21OZXZlclJlZ2lzdGVyZWRFcnIgICA9ICAgLTI1MDQgICAjYXBwIG5ldmVyIHJlZ2lzdGVyZWQgZXJyb3IgKG5vdCBUU00gYXdhcmUpCnRzbUFscmVhZHlSZWdpc3RlcmVkRXJyID0gICAtMjUwMyAgICN3YW50IHRvIHJlZ2lzdGVyIGFnYWluIGVycm9yCnRzbU5vdEFuQXBwRXJyICA9ICAgLTI1MDIgICAjbm90IGFuIGFwcGxpY2F0aW9uIGVycm9yCnRzbUlucHV0TWV0aG9kTm90Rm91bmRFcnIgICA9ICAgLTI1MDEgICAjdHNtSW5wdXRNZXRob2ROb3RGb3VuZEVycgp0c21VbnN1cFNjcmlwdExhbmd1YWdlRXJyICAgPSAgIC0yNTAwICAgI3RzbVVuc3VwU2NyaXB0TGFuZ3VhZ2VFcnIKa2VybmVsVW5yZWNvdmVyYWJsZUVyciAgPSAgIC0yNDk5ICAgI2tlcm5lbFVucmVjb3ZlcmFibGVFcnIKa2VybmVsUmV0dXJuVmFsdWVFcnIgICAgPSAgIC0yNDIyICAgI2tlcm5lbFJldHVyblZhbHVlRXJyCmtlcm5lbEFscmVhZHlGcmVlRXJyICAgID0gICAtMjQyMSAgICNrZXJuZWxBbHJlYWR5RnJlZUVycgprZXJuZWxJREVyciA9ICAgLTI0MTkgICAja2VybmVsSURFcnIKa2VybmVsRXhjZXB0aW9uRXJyICA9ICAgLTI0MTggICAja2VybmVsRXhjZXB0aW9uRXJyCmtlcm5lbFRlcm1pbmF0ZWRFcnIgPSAgIC0yNDE3ICAgI2tlcm5lbFRlcm1pbmF0ZWRFcnIKa2VybmVsSW5Vc2VFcnIgID0gICAtMjQxNiAgICNrZXJuZWxJblVzZUVycgprZXJuZWxUaW1lb3V0RXJyICAgID0gICAtMjQxNSAgICNrZXJuZWxUaW1lb3V0RXJyCmtlcm5lbEFzeW5jUmVjZWl2ZUxpbWl0RXJyICA9ICAgLTI0MTQgICAja2VybmVsQXN5bmNSZWNlaXZlTGltaXRFcnIKa2VybmVsQXN5bmNTZW5kTGltaXRFcnIgPSAgIC0yNDEzICAgI2tlcm5lbEFzeW5jU2VuZExpbWl0RXJyCmtlcm5lbEF0dHJpYnV0ZUVyciAgPSAgIC0yNDEyICAgI2tlcm5lbEF0dHJpYnV0ZUVycgprZXJuZWxFeGVjdXRpb25MZXZlbEVyciA9ICAgLTI0MTEgICAja2VybmVsRXhlY3V0aW9uTGV2ZWxFcnIKa2VybmVsRGVsZXRlUGVybWlzc2lvbkVyciAgID0gICAtMjQxMCAgICNrZXJuZWxEZWxldGVQZXJtaXNzaW9uRXJyCmtlcm5lbEV4ZWN1dGVQZXJtaXNzaW9uRXJyICA9ICAgLTI0MDkgICAja2VybmVsRXhlY3V0ZVBlcm1pc3Npb25FcnIKa2VybmVsUmVhZFBlcm1pc3Npb25FcnIgPSAgIC0yNDA4ICAgI2tlcm5lbFJlYWRQZXJtaXNzaW9uRXJyCmtlcm5lbFdyaXRlUGVybWlzc2lvbkVyciAgICA9ICAgLTI0MDcgICAja2VybmVsV3JpdGVQZXJtaXNzaW9uRXJyCmtlcm5lbE9iamVjdEV4aXN0c0VyciAgID0gICAtMjQwNiAgICNrZXJuZWxPYmplY3RFeGlzdHNFcnIKa2VybmVsVW5zdXBwb3J0ZWRFcnIgICAgPSAgIC0yNDA1ICAgI2tlcm5lbFVuc3VwcG9ydGVkRXJyCmtlcm5lbFByaXZpbGVnZUVyciAgPSAgIC0yNDA0ICAgI2tlcm5lbFByaXZpbGVnZUVycgprZXJuZWxPcHRpb25zRXJyICAgID0gICAtMjQwMyAgICNrZXJuZWxPcHRpb25zRXJyCmtlcm5lbENhbmNlbGVkRXJyICAgPSAgIC0yNDAyICAgI2tlcm5lbENhbmNlbGVkRXJyCmtlcm5lbEluY29tcGxldGVFcnIgPSAgIC0yNDAxICAgI2tlcm5lbEluY29tcGxldGVFcnIKYmFkQ2FsbE9yZGVyRXJyID0gICAtMjIwOSAgICNVc3VhbGx5IGR1ZSB0byBhIHN0YXR1cyBjYWxsIGJlaW5nIGNhbGxlZCBwcmlvciB0byBiZWluZyBzZXR1cCBmaXJzdApub0RNQUVyciAgICA9ICAgLTIyMDggICAjQ2Fu1XQgZG8gRE1BIGRpZ2l0aXppbmcgKGkuZS4gY2FuJ3QgZ28gdG8gcmVxdWVzdGVkIGRlc3QKYmFkRGVwdGhFcnIgPSAgIC0yMjA3ICAgI0NhbtV0IGRpZ2l0aXplIGludG8gdGhpcyBkZXB0aApub3RFeGFjdFNpemVFcnIgPSAgIC0yMjA2ICAgI0NhbtV0IGRvIGV4YWN0IHNpemUgcmVxdWVzdGVkCm5vTW9yZUtleUNvbG9yc0VyciAgPSAgIC0yMjA1ICAgI2FsbCBrZXkgaW5kZXhlcyBpbiB1c2UKbm90RXhhY3RNYXRyaXhFcnIgICA9ICAgLTIyMDQgICAjd2FybmluZyBvZiBiYWQgbWF0cml4LCBkaWdpdGl6ZXIgZGlkIGl0cyBiZXN0Cm1hdHJpeEVyciAgID0gICAtMjIwMyAgICNiYWQgbWF0cml4LCBkaWdpdGl6ZXIgZGlkIG5vdGhpbmcKcXRQYXJhbUVyciAgPSAgIC0yMjAyICAgI2JhZCBpbnB1dCBwYXJhbWV0ZXIgKG91dCBvZiByYW5nZSwgZXRjKQpkaWdpVW5pbXBFcnIgICAgPSAgIC0yMjAxICAgI2ZlYXR1cmUgdW5pbXBsZW1lbnRlZApxdFhNTEFwcGxpY2F0aW9uRXJyID0gICAtMjE1OSAgICNxdFhNTEFwcGxpY2F0aW9uRXJyCnF0WE1MUGFyc2VFcnIgICA9ICAgLTIxNTggICAjcXRYTUxQYXJzZUVycgpxdEFjdGlvbk5vdEhhbmRsZWRFcnIgICA9ICAgLTIxNTcgICAjcXRBY3Rpb25Ob3RIYW5kbGVkRXJyCm5vdEVub3VnaERhdGFFcnIgICAgPSAgIC0yMTQ5ICAgI25vdEVub3VnaERhdGFFcnIKdXJsRGF0YUhGVFBVUkxFcnIgICA9ICAgLTIxNDggICAjdXJsRGF0YUhGVFBVUkxFcnIKdXJsRGF0YUhGVFBTZXJ2ZXJEaXNjb25uZWN0ZWRFcnIgICAgPSAgIC0yMTQ3ICAgI3VybERhdGFIRlRQU2VydmVyRGlzY29ubmVjdGVkRXJyCnVybERhdGFIRlRQTm9QYXNzd29yZEVyciAgICA9ICAgLTIxNDYgICAjdXJsRGF0YUhGVFBOb1Bhc3N3b3JkRXJyCnVybERhdGFIRlRQTmVlZFBhc3N3b3JkRXJyICA9ICAgLTIxNDUgICAjdXJsRGF0YUhGVFBOZWVkUGFzc3dvcmRFcnIKdXJsRGF0YUhGVFBCYWROYW1lTGlzdEVyciAgID0gICAtMjE0NCAgICN1cmxEYXRhSEZUUEJhZE5hbWVMaXN0RXJyCnVybERhdGFIRlRQTm9OZXREcml2ZXJFcnIgICA9ICAgLTIxNDMgICAjdXJsRGF0YUhGVFBOb05ldERyaXZlckVycgp1cmxEYXRhSEZUUEZpbGVuYW1lRXJyICA9ICAgLTIxNDIgICAjdXJsRGF0YUhGVFBGaWxlbmFtZUVycgp1cmxEYXRhSEZUUFBlcm1pc3Npb25zRXJyICAgPSAgIC0yMTQxICAgI3VybERhdGFIRlRQUGVybWlzc2lvbnNFcnIKdXJsRGF0YUhGVFBRdW90YUVyciA9ICAgLTIxNDAgICAjdXJsRGF0YUhGVFBRdW90YUVycgp1cmxEYXRhSEZUUE5vRGlyZWN0b3J5RXJyICAgPSAgIC0yMTM5ICAgI3VybERhdGFIRlRQTm9EaXJlY3RvcnlFcnIKdXJsRGF0YUhGVFBEYXRhQ29ubmVjdGlvbkVyciAgICA9ICAgLTIxMzggICAjdXJsRGF0YUhGVFBEYXRhQ29ubmVjdGlvbkVycgp1cmxEYXRhSEZUUFNlcnZlckVyciAgICA9ICAgLTIxMzcgICAjdXJsRGF0YUhGVFBTZXJ2ZXJFcnIKdXJsRGF0YUhGVFBCYWRQYXNzd29yZEVyciAgID0gICAtMjEzNiAgICN1cmxEYXRhSEZUUEJhZFBhc3N3b3JkRXJyCnVybERhdGFIRlRQQmFkVXNlckVyciAgID0gICAtMjEzNSAgICN1cmxEYXRhSEZUUEJhZFVzZXJFcnIKdXJsRGF0YUhGVFBTaHV0ZG93bkVyciAgPSAgIC0yMTM0ICAgI3VybERhdGFIRlRQU2h1dGRvd25FcnIKdXJsRGF0YUhGVFBQcm90b2NvbEVyciAgPSAgIC0yMTMzICAgI3VybERhdGFIRlRQUHJvdG9jb2xFcnIKdXJsRGF0YUhIVFRQUmVkaXJlY3RFcnIgPSAgIC0yMTMyICAgI3VybERhdGFISFRUUFJlZGlyZWN0RXJyCnVybERhdGFISFRUUFVSTEVyciAgPSAgIC0yMTMxICAgI3VybERhdGFISFRUUFVSTEVycgp1cmxEYXRhSEhUVFBOb05ldERyaXZlckVyciAgPSAgIC0yMTMwICAgI3VybERhdGFISFRUUE5vTmV0RHJpdmVyRXJyCnVybERhdGFISFRUUFByb3RvY29sRXJyID0gICAtMjEyOSAgICN1cmxEYXRhSEhUVFBQcm90b2NvbEVycgpxdE5ldHdvcmtBbHJlYWR5QWxsb2NhdGVkRXJyICAgID0gICAtMjEyNyAgICNxdE5ldHdvcmtBbHJlYWR5QWxsb2NhdGVkRXJyCm5vdEFsbG93ZWRUb1NhdmVNb3ZpZUVyciAgICA9ICAgLTIxMjYgICAjbm90QWxsb3dlZFRvU2F2ZU1vdmllRXJyCmZpbGVPZmZzZXRUb29CaWdFcnIgPSAgIC0yMTI1ICAgI2ZpbGVPZmZzZXRUb29CaWdFcnIKQVNERW50cnlOb3RGb3VuZEVyciA9ICAgLTIxMjQgICAjQVNERW50cnlOb3RGb3VuZEVycgpBU0RCYWRGb3JrRXJyICAgPSAgIC0yMTIzICAgI0FTREJhZEZvcmtFcnIKQVNEQmFkSGVhZGVyRXJyID0gICAtMjEyMiAgICNBU0RCYWRIZWFkZXJFcnIKQUFQTm90Rm91bmRFcnIgID0gICAtMjEyMSAgICNBQVBOb3RGb3VuZEVycgpBQVBOb3RDcmVhdGVkRXJyICAgID0gICAtMjEyMCAgICNBQVBOb3RDcmVhdGVkRXJyCnFmY2JOb3RDcmVhdGVkRXJyICAgPSAgIC0yMTE5ICAgI3FmY2JOb3RDcmVhdGVkRXJyCnFmY2JOb3RGb3VuZEVyciA9ICAgLTIxMTggICAjcWZjYk5vdEZvdW5kRXJyCndhY2tCYWRNZXRhRGF0YUVyciAgPSAgIC0yMTE3ICAgI3dhY2tCYWRNZXRhRGF0YUVycgp3YWNrRm9ya05vdEZvdW5kRXJyID0gICAtMjExNiAgICN3YWNrRm9ya05vdEZvdW5kRXJyCndhY2tCYWRGaWxlRXJyICA9ICAgLTIxMTUgICAjd2Fja0JhZEZpbGVFcnIKdW5rbm93bkZvcm1hdEVyciAgICA9ICAgLTIxMTQgICAjdW5rbm93bkZvcm1hdEVycgpwYXRoTm90VmVyaWZpZWRFcnIgID0gICAtMjExMyAgICNwYXRoTm90VmVyaWZpZWRFcnIKbm9QYXRoTWFwcGluZ0VyciAgICA9ICAgLTIxMTIgICAjbm9QYXRoTWFwcGluZ0VycgplbXB0eVBhdGhFcnIgICAgPSAgIC0yMTExICAgI2VtcHR5UGF0aEVycgpwYXRoVG9vTG9uZ0VyciAgPSAgIC0yMTEwICAgI3BhdGhUb29Mb25nRXJyCmNhbm5vdEJlTGVhZkF0b21FcnIgPSAgIC0yMTA5ICAgI2Nhbm5vdEJlTGVhZkF0b21FcnIKaW52YWxpZEF0b21UeXBlRXJyICA9ICAgLTIxMDggICAjaW52YWxpZEF0b21UeXBlRXJyCmludmFsaWRBdG9tQ29udGFpbmVyRXJyID0gICAtMjEwNyAgICNpbnZhbGlkQXRvbUNvbnRhaW5lckVycgppbnZhbGlkQXRvbUVyciAgPSAgIC0yMTA2ICAgI2ludmFsaWRBdG9tRXJyCmR1cGxpY2F0ZUF0b21UeXBlQW5kSURFcnIgICA9ICAgLTIxMDUgICAjZHVwbGljYXRlQXRvbVR5cGVBbmRJREVycgphdG9tSW5kZXhJbnZhbGlkRXJyID0gICAtMjEwNCAgICNhdG9tSW5kZXhJbnZhbGlkRXJyCmF0b21zTm90T2ZTYW1lVHlwZUVyciAgID0gICAtMjEwMyAgICNhdG9tc05vdE9mU2FtZVR5cGVFcnIKbm90TGVhZkF0b21FcnIgID0gICAtMjEwMiAgICNub3RMZWFmQXRvbUVycgpjYW5ub3RGaW5kQXRvbUVyciAgID0gICAtMjEwMSAgICNjYW5ub3RGaW5kQXRvbUVycgp1bnN1cHBvcnRlZFByb2Nlc3NvckVyciA9ICAgLTIwOTcgICAjdW5zdXBwb3J0ZWRQcm9jZXNzb3JFcnIKdW5zdXBwb3J0ZWRPU0VyciAgICA9ICAgLTIwOTYgICAjdW5zdXBwb3J0ZWRPU0VycgpxdG1sVW5pbml0aWFsaXplZCAgID0gICAtMjA5NSAgICNxdG1sVW5pbml0aWFsaXplZApxdG1sRGxsRW50cnlOb3RGb3VuZEVyciA9ICAgLTIwOTQgICAjV2luZG93cyBzcGVjaWZpYyBlcnJvcnMgKHdoZW4gcXRtbCBpcyBsb2FkaW5nKQpxdG1sRGxsTG9hZEVyciAgPSAgIC0yMDkzICAgI1dpbmRvd3Mgc3BlY2lmaWMgZXJyb3JzICh3aGVuIHF0bWwgaXMgbG9hZGluZykKY29tcG9uZW50RGxsRW50cnlOb3RGb3VuZEVyciAgICA9ICAgLTIwOTIgICAjV2luZG93cyBzcGVjaWZpYyBlcnJvcnMgKHdoZW4gY29tcG9uZW50IGlzIGxvYWRpbmcpCmNvbXBvbmVudERsbExvYWRFcnIgPSAgIC0yMDkxICAgI1dpbmRvd3Mgc3BlY2lmaWMgZXJyb3JzICh3aGVuIGNvbXBvbmVudCBpcyBsb2FkaW5nKQp2aWRlb091dHB1dEluVXNlRXJyID0gICAtMjA5MCAgICN2aWRlb091dHB1dEluVXNlRXJyCm5vRXhwb3J0UHJvY0F2YWlsYWJsZUVyciAgICA9ICAgLTIwODkgICAjbm9FeHBvcnRQcm9jQXZhaWxhYmxlRXJyCnR1bmVQYXJzZU9TRXJyICA9ICAgLTIwODcgICAjdHVuZVBhcnNlT1NFcnIKdHVuZVBsYXllckZ1bGxPU0VyciA9ICAgLTIwODYgICAjdHVuZVBsYXllckZ1bGxPU0Vycgpub3RlQ2hhbm5lbE5vdEFsbG9jYXRlZE9TRXJyICAgID0gICAtMjA4NSAgICNub3RlQ2hhbm5lbE5vdEFsbG9jYXRlZE9TRXJyCmlsbGVnYWxOb3RlQ2hhbm5lbE9TRXJyID0gICAtMjA4NCAgICNpbGxlZ2FsTm90ZUNoYW5uZWxPU0VycgpzeW50aGVzaXplck9TRXJyICAgID0gICAtMjA4MyAgICNzeW50aGVzaXplck9TRXJyCnN5bnRoZXNpemVyTm90UmVzcG9uZGluZ09TRXJyICAgPSAgIC0yMDgyICAgI3N5bnRoZXNpemVyTm90UmVzcG9uZGluZ09TRXJyCm1pZGlNYW5hZ2VyQWJzZW50T1NFcnIgID0gICAtMjA4MSAgICNtaWRpTWFuYWdlckFic2VudE9TRXJyCmlsbGVnYWxDb250cm9sbGVyT1NFcnIgID0gICAtMjA4MCAgICNpbGxlZ2FsQ29udHJvbGxlck9TRXJyCmlsbGVnYWxJbnN0cnVtZW50T1NFcnIgID0gICAtMjA3OSAgICNpbGxlZ2FsSW5zdHJ1bWVudE9TRXJyCmlsbGVnYWxLbm9iVmFsdWVPU0VyciAgID0gICAtMjA3OCAgICNpbGxlZ2FsS25vYlZhbHVlT1NFcnIKaWxsZWdhbEtub2JPU0VyciAgICA9ICAgLTIwNzcgICAjaWxsZWdhbEtub2JPU0VycgppbGxlZ2FsQ2hhbm5lbE9TRXJyID0gICAtMjA3NiAgICNpbGxlZ2FsQ2hhbm5lbE9TRXJyCmlsbGVnYWxQYXJ0T1NFcnIgICAgPSAgIC0yMDc1ICAgI2lsbGVnYWxQYXJ0T1NFcnIKaWxsZWdhbFZvaWNlQWxsb2NhdGlvbk9TRXJyID0gICAtMjA3NCAgICNpbGxlZ2FsVm9pY2VBbGxvY2F0aW9uT1NFcnIKY2FudFJlY2VpdmVGcm9tU3ludGhlc2l6ZXJPU0VyciA9ICAgLTIwNzMgICAjY2FudFJlY2VpdmVGcm9tU3ludGhlc2l6ZXJPU0VycgpjYW50U2VuZFRvU3ludGhlc2l6ZXJPU0VyciAgPSAgIC0yMDcyICAgI2NhbnRTZW5kVG9TeW50aGVzaXplck9TRXJyCm5vdEltcGxlbWVudGVkTXVzaWNPU0VyciAgICA9ICAgLTIwNzEgICAjbm90SW1wbGVtZW50ZWRNdXNpY09TRXJyCmludGVybmFsQ29tcG9uZW50RXJyICAgID0gICAtMjA3MCAgICNpbnRlcm5hbENvbXBvbmVudEVycgppbnZhbGlkU3ByaXRlSURFcnIgID0gICAtMjA2OSAgICNpbnZhbGlkU3ByaXRlSURFcnIKaW52YWxpZEltYWdlSW5kZXhFcnIgICAgPSAgIC0yMDY4ICAgI2ludmFsaWRJbWFnZUluZGV4RXJyCmludmFsaWRTcHJpdGVJbmRleEVyciAgID0gICAtMjA2NyAgICNpbnZhbGlkU3ByaXRlSW5kZXhFcnIKZ1dvcmxkc05vdFNhbWVEZXB0aEFuZFNpemVFcnIgICA9ICAgLTIwNjYgICAjZ1dvcmxkc05vdFNhbWVEZXB0aEFuZFNpemVFcnIKaW52YWxpZFNwcml0ZVByb3BlcnR5RXJyICAgID0gICAtMjA2NSAgICNpbnZhbGlkU3ByaXRlUHJvcGVydHlFcnIKaW52YWxpZFNwcml0ZVdvcmxkUHJvcGVydHlFcnIgICA9ICAgLTIwNjQgICAjaW52YWxpZFNwcml0ZVdvcmxkUHJvcGVydHlFcnIKbWlzc2luZ1JlcXVpcmVkUGFyYW1ldGVyRXJyID0gICAtMjA2MyAgICNtaXNzaW5nUmVxdWlyZWRQYXJhbWV0ZXJFcnIKbW92aWVUZXh0Tm90Rm91bmRFcnIgICAgPSAgIC0yMDYyICAgI21vdmllVGV4dE5vdEZvdW5kRXJyCnNvdXJjZU5vdEZvdW5kRXJyICAgPSAgIC0yMDYxICAgI3NvdXJjZU5vdEZvdW5kRXJyCm5vU291cmNlVHJlZUZvdW5kRXJyICAgID0gICAtMjA2MCAgICNub1NvdXJjZVRyZWVGb3VuZEVycgpzYW1wbGVzQWxyZWFkeUluTWVkaWFFcnIgICAgPSAgIC0yMDU5ICAgI3NhbXBsZXNBbHJlYWR5SW5NZWRpYUVycgphdXhpbGlhcnlFeHBvcnREYXRhVW5hdmFpbGFibGUgID0gICAtMjA1OCAgICNhdXhpbGlhcnlFeHBvcnREYXRhVW5hdmFpbGFibGUKdW5zdXBwb3J0ZWRBdXhpbGlhcnlJbXBvcnREYXRhICA9ICAgLTIwNTcgICAjdW5zdXBwb3J0ZWRBdXhpbGlhcnlJbXBvcnREYXRhCnNvdW5kU3VwcG9ydE5vdEF2YWlsYWJsZUVyciA9ICAgLTIwNTYgICAjUVQgZm9yIFdpbmRvd3MgZXJyb3IKbm9Tb3VuZFRyYWNrSW5Nb3ZpZUVyciAgPSAgIC0yMDU1ICAgI1FUIGZvciBXaW5kb3dzIGVycm9yCm5vVmlkZW9UcmFja0luTW92aWVFcnIgID0gICAtMjA1NCAgICNRVCBmb3IgV2luZG93cyBlcnJvcgpmZWF0dXJlVW5zdXBwb3J0ZWQgID0gICAtMjA1MyAgICNmZWF0dXJlVW5zdXBwb3J0ZWQKY291bGROb3RVc2VBbkV4aXN0aW5nU2FtcGxlID0gICAtMjA1MiAgICNjb3VsZE5vdFVzZUFuRXhpc3RpbmdTYW1wbGUKbm9EZWZhdWx0RGF0YVJlZiAgICA9ICAgLTIwNTEgICAjbm9EZWZhdWx0RGF0YVJlZgpiYWREYXRhUmVmSW5kZXggPSAgIC0yMDUwICAgI2JhZERhdGFSZWZJbmRleAppbnZhbGlkRGF0YVJlZkNvbnRhaW5lciA9ICAgLTIwNDkgICAjaW52YWxpZERhdGFSZWZDb250YWluZXIKbm9Nb3ZpZUZvdW5kICAgID0gICAtMjA0OCAgICNub01vdmllRm91bmQKZGF0YU5vRGF0YVJlZiAgID0gICAtMjA0NyAgICNkYXRhTm9EYXRhUmVmCmVuZE9mRGF0YVJlYWNoZWQgICAgPSAgIC0yMDQ2ICAgI2VuZE9mRGF0YVJlYWNoZWQKZGF0YUFscmVhZHlDbG9zZWQgICA9ICAgLTIwNDUgICAjZGF0YUFscmVhZHlDbG9zZWQKZGF0YUFscmVhZHlPcGVuRm9yV3JpdGUgPSAgIC0yMDQ0ICAgI2RhdGFBbHJlYWR5T3BlbkZvcldyaXRlCmRhdGFOb3RPcGVuRm9yV3JpdGUgPSAgIC0yMDQzICAgI2RhdGFOb3RPcGVuRm9yV3JpdGUKZGF0YU5vdE9wZW5Gb3JSZWFkICA9ICAgLTIwNDIgICAjZGF0YU5vdE9wZW5Gb3JSZWFkCmludmFsaWRTYW1wbGVEZXNjcmlwdGlvbiAgICA9ICAgLTIwNDEgICAjaW52YWxpZFNhbXBsZURlc2NyaXB0aW9uCmludmFsaWRDaHVua0NhY2hlICAgPSAgIC0yMDQwICAgI2ludmFsaWRDaHVua0NhY2hlCmludmFsaWRTYW1wbGVEZXNjSW5kZXggID0gICAtMjAzOSAgICNpbnZhbGlkU2FtcGxlRGVzY0luZGV4CmludmFsaWRDaHVua051bSA9ICAgLTIwMzggICAjaW52YWxpZENodW5rTnVtCmludmFsaWRTYW1wbGVOdW0gICAgPSAgIC0yMDM3ICAgI2ludmFsaWRTYW1wbGVOdW0KaW52YWxpZFJlY3QgPSAgIC0yMDM2ICAgI2ludmFsaWRSZWN0CmNhbnRFbmFibGVUcmFjayA9ICAgLTIwMzUgICAjY2FudEVuYWJsZVRyYWNrCmludGVybmFsUXVpY2tUaW1lRXJyb3IgID0gICAtMjAzNCAgICNpbnRlcm5hbFF1aWNrVGltZUVycm9yCmJhZEVkaXRJbmRleCAgICA9ICAgLTIwMzMgICAjYmFkRWRpdEluZGV4CnRpbWVOb3RJbk1lZGlhICA9ICAgLTIwMzIgICAjdGltZU5vdEluTWVkaWEKdGltZU5vdEluVHJhY2sgID0gICAtMjAzMSAgICN0aW1lTm90SW5UcmFjawp0cmFja05vdEluTW92aWUgPSAgIC0yMDMwICAgI3RyYWNrTm90SW5Nb3ZpZQp0cmFja0lETm90Rm91bmQgPSAgIC0yMDI5ICAgI3RyYWNrSUROb3RGb3VuZApiYWRUcmFja0luZGV4ICAgPSAgIC0yMDI4ICAgI2JhZFRyYWNrSW5kZXgKbWF4U2l6ZVRvR3Jvd1Rvb1NtYWxsICAgPSAgIC0yMDI3ICAgI21heFNpemVUb0dyb3dUb29TbWFsbAp1c2VyRGF0YUl0ZW1Ob3RGb3VuZCAgICA9ICAgLTIwMjYgICAjdXNlckRhdGFJdGVtTm90Rm91bmQKc3RhbGVFZGl0U3RhdGUgID0gICAtMjAyNSAgICNzdGFsZUVkaXRTdGF0ZQpub25NYXRjaGluZ0VkaXRTdGF0ZSAgICA9ICAgLTIwMjQgICAjbm9uTWF0Y2hpbmdFZGl0U3RhdGUKaW52YWxpZEVkaXRTdGF0ZSAgICA9ICAgLTIwMjMgICAjaW52YWxpZEVkaXRTdGF0ZQpjYW50Q3JlYXRlU2luZ2xlRm9ya0ZpbGUgICAgPSAgIC0yMDIyICAgI2hhcHBlbnMgd2hlbiBmaWxlIGFscmVhZHkgZXhpc3RzCndmRmlsZU5vdEZvdW5kICA9ICAgLTIwMjEgICAjd2ZGaWxlTm90Rm91bmQKbW92aWVUb29sYm94VW5pbml0aWFsaXplZCAgID0gICAtMjAyMCAgICNtb3ZpZVRvb2xib3hVbmluaXRpYWxpemVkCnByb2dyZXNzUHJvY0Fib3J0ZWQgPSAgIC0yMDE5ICAgI3Byb2dyZXNzUHJvY0Fib3J0ZWQKbWVkaWFUeXBlc0RvbnRNYXRjaCA9ICAgLTIwMTggICAjbWVkaWFUeXBlc0RvbnRNYXRjaApiYWRFZGl0TGlzdCA9ICAgLTIwMTcgICAjYmFkRWRpdExpc3QKY2FudFB1dFB1YmxpY01vdmllQXRvbSAgPSAgIC0yMDE2ICAgI2NhbnRQdXRQdWJsaWNNb3ZpZUF0b20KaW52YWxpZFRpbWUgPSAgIC0yMDE1ICAgI2ludmFsaWRUaW1lCmludmFsaWREdXJhdGlvbiA9ICAgLTIwMTQgICAjaW52YWxpZER1cmF0aW9uCmludmFsaWRIYW5kbGVyICA9ICAgLTIwMTMgICAjaW52YWxpZEhhbmRsZXIKaW52YWxpZERhdGFSZWYgID0gICAtMjAxMiAgICNpbnZhbGlkRGF0YVJlZgppbnZhbGlkU2FtcGxlVGFibGUgID0gICAtMjAxMSAgICNpbnZhbGlkU2FtcGxlVGFibGUKaW52YWxpZE1vdmllICAgID0gICAtMjAxMCAgICNpbnZhbGlkTW92aWUKaW52YWxpZFRyYWNrICAgID0gICAtMjAwOSAgICNpbnZhbGlkVHJhY2sKaW52YWxpZE1lZGlhICAgID0gICAtMjAwOCAgICNpbnZhbGlkTWVkaWEKbm9EYXRhSGFuZGxlciAgID0gICAtMjAwNyAgICNub0RhdGFIYW5kbGVyCm5vTWVkaWFIYW5kbGVyICA9ICAgLTIwMDYgICAjbm9NZWRpYUhhbmRsZXIKYmFkQ29tcG9uZW50VHlwZSAgICA9ICAgLTIwMDUgICAjYmFkQ29tcG9uZW50VHlwZQpjYW50T3BlbkhhbmRsZXIgPSAgIC0yMDA0ICAgI2NhbnRPcGVuSGFuZGxlcgpjYW50RmluZEhhbmRsZXIgPSAgIC0yMDAzICAgI2NhbnRGaW5kSGFuZGxlcgpiYWRQdWJsaWNNb3ZpZUF0b20gID0gICAtMjAwMiAgICNiYWRQdWJsaWNNb3ZpZUF0b20KYmFkSW1hZ2VEZXNjcmlwdGlvbiA9ICAgLTIwMDEgICAjYmFkSW1hZ2VEZXNjcmlwdGlvbgpjb3VsZE5vdFJlc29sdmVEYXRhUmVmICA9ICAgLTIwMDAgICAjY291bGROb3RSZXNvbHZlRGF0YVJlZgpub25EcmFnT3JpZ2luYXRvckVyciAgICA9ICAgLTE4NjIgICAjaWxsZWdhbCBhdHRlbXB0IGF0IG9yaWdpbmF0b3Igb25seSBkYXRhCmJhZEltYWdlRXJyID0gICAtMTg2MSAgICNiYWQgdHJhbnNsdWNlbnQgaW1hZ2UgUGl4TWFwCmJhZEltYWdlUmduRXJyICA9ICAgLTE4NjAgICAjYmFkIHRyYW5zbHVjZW50IGltYWdlIHJlZ2lvbgpub1N1aXRhYmxlRGlzcGxheXNFcnIgICA9ICAgLTE4NTkgICAjbm8gZGlzcGxheXMgc3VwcG9ydCB0cmFuc2x1Y2VuY3kKdW5zdXBwb3J0ZWRGb3JQbGF0Zm9ybUVyciAgID0gICAtMTg1OCAgICNjYWxsIGlzIGZvciBQb3dlclBDIG9ubHkKZHJhZ05vdEFjY2VwdGVkRXJyICA9ICAgLTE4NTcgICAjZHJhZyB3YXMgbm90IGFjY2VwdGVkIGJ5IHJlY2VpdmVyCmhhbmRsZXJOb3RGb3VuZEVyciAgPSAgIC0xODU2ICAgI2hhbmRsZXIgbm90IGZvdW5kCmR1cGxpY2F0ZUhhbmRsZXJFcnIgPSAgIC0xODU1ICAgI2hhbmRsZXIgYWxyZWFkeSBleGlzdHMKY2FudEdldEZsYXZvckVyciAgICA9ICAgLTE4NTQgICAjZXJyb3Igd2hpbGUgdHJ5aW5nIHRvIGdldCBmbGF2b3IgZGF0YQpkdXBsaWNhdGVGbGF2b3JFcnIgID0gICAtMTg1MyAgICNmbGF2b3IgdHlwZSBhbHJlYWR5IGV4aXN0cwpiYWREcmFnRmxhdm9yRXJyICAgID0gICAtMTg1MiAgICN1bmtub3duIGZsYXZvciB0eXBlCmJhZERyYWdJdGVtRXJyICA9ICAgLTE4NTEgICAjdW5rbm93biBkcmFnIGl0ZW0gcmVmZXJlbmNlCmJhZERyYWdSZWZFcnIgICA9ICAgLTE4NTAgICAjdW5rbm93biBkcmFnIHJlZmVyZW5jZQplcnJFbmRPZkJvZHkgICAgPSAgIC0xODEzICAgI2VyckVuZE9mQm9keQplcnJFbmRPZkRvY3VtZW50ICAgID0gICAtMTgxMiAgICNlcnJFbmRPZkRvY3VtZW50CmVyclRvcE9mQm9keSAgICA9ICAgLTE4MTEgICAjZXJyVG9wT2ZCb2R5CmVyclRvcE9mRG9jdW1lbnQgICAgPSAgIC0xODEwICAgI2VyclRvcE9mRG9jdW1lbnQKZXJyT2Zmc2V0SXNPdXRzaWRlT2ZWaWV3ICAgID0gICAtMTgwMSAgICNlcnJPZmZzZXRJc091dHNpZGVPZlZpZXcKZXJyT2Zmc2V0SW52YWxpZCAgICA9ICAgLTE4MDAgICAjZXJyT2Zmc2V0SW52YWxpZAplcnJPU0FDYW50T3BlbkNvbXBvbmVudCA9ICAgLTE3NjIgICAjQ2FuJ3QgY29ubmVjdCB0byBzY3JpcHRpbmcgc3lzdGVtIHdpdGggdGhhdCBJRAplcnJPU0FDb21wb25lbnRNaXNtYXRjaCA9ICAgLTE3NjEgICAjUGFyYW1ldGVycyBhcmUgZnJvbSAyIGRpZmZlcmVudCBjb21wb25lbnRzCmVyck9TQURhdGFGb3JtYXRUb29OZXcgID0gICAtMTc1OSAgICNlcnJPU0FEYXRhRm9ybWF0VG9vTmV3CmVyck9TQURhdGFGb3JtYXRPYnNvbGV0ZSAgICA9ICAgLTE3NTggICAjZXJyT1NBRGF0YUZvcm1hdE9ic29sZXRlCmVyck9TQU5vU3VjaERpYWxlY3QgPSAgIC0xNzU3ICAgI2Vyck9TQU5vU3VjaERpYWxlY3QKZXJyT1NBU291cmNlTm90QXZhaWxhYmxlICAgID0gICAtMTc1NiAgICNlcnJPU0FTb3VyY2VOb3RBdmFpbGFibGUKZXJyT1NBQmFkU2VsZWN0b3IgICA9ICAgLTE3NTQgICAjZXJyT1NBQmFkU2VsZWN0b3IKZXJyT1NBU2NyaXB0RXJyb3IgICA9ICAgLTE3NTMgICAjZXJyT1NBU2NyaXB0RXJyb3IKZXJyT1NBQmFkU3RvcmFnZVR5cGUgICAgPSAgIC0xNzUyICAgI2Vyck9TQUJhZFN0b3JhZ2VUeXBlCmVyck9TQUludmFsaWRJRCA9ICAgLTE3NTEgICAjZXJyT1NBSW52YWxpZElECmVyck9TQVN5c3RlbUVycm9yICAgPSAgIC0xNzUwICAgI2Vyck9TQVN5c3RlbUVycm9yCmVyckFFQnVmZmVyVG9vU21hbGwgPSAgIC0xNzQxICAgI2J1ZmZlciBmb3IgQUVGbGF0dGVuRGVzYyB0b28gc21hbGwKZXJyQUVCdWlsZFN5bnRheEVycm9yICAgPSAgIC0xNzQwICAgI0FFQnVpbGREZXNjIGFuZCBmcmllbmRzIGRldGVjdGVkIGEgc3ludGF4IGVycm9yCmVyckFFRGVzY0lzTnVsbCA9ICAgLTE3MzkgICAjYXR0ZW1wdGluZyB0byBwZXJmb3JtIGFuIGludmFsaWQgb3BlcmF0aW9uIG9uIGEgbnVsbCBkZXNjcmlwdG9yCmVyckFFU3RyZWFtQWxyZWFkeUNvbnZlcnRlZCA9ICAgLTE3MzggICAjYXR0ZW1wdCB0byBjb252ZXJ0IGEgc3RyZWFtIHRoYXQgaGFzIGFscmVhZHkgYmVlbiBjb252ZXJ0ZWQKZXJyQUVTdHJlYW1CYWROZXN0aW5nICAgPSAgIC0xNzM3ICAgI25lc3RpbmcgdmlvbGF0aW9uIHdoaWxlIHN0cmVhbWluZwplcnJBRUR1cGxpY2F0ZUhhbmRsZXIgICA9ICAgLTE3MzYgICAjYXR0ZW1wdCB0byBpbnN0YWxsIGhhbmRsZXIgaW4gdGFibGUgZm9yIGlkZW50aWNhbCBjbGFzcyBhbmQgaWQgKDEuMSBvciBncmVhdGVyKQplcnJBRUV2ZW50RmlsdGVyZWQgID0gICAtMTczNSAgICNldmVudCBoYXMgYmVlbiBmaWx0ZXJlZCwgYW5kIHNob3VsZCBub3QgYmUgcHJvcG9nYXRlZCAoMS4xIG9yIGdyZWF0ZXIpCmVyckFFUmVjZWl2ZUVzY2FwZUN1cnJlbnQgICA9ICAgLTE3MzQgICAjYnJlYWsgb3V0IG9mIG9ubHkgbG93ZXN0IGxldmVsIG9mIEFFUmVjZWl2ZSAoMS4xIG9yIGdyZWF0ZXIpCmVyckFFUmVjZWl2ZVRlcm1pbmF0ZSAgID0gICAtMTczMyAgICNicmVhayBvdXQgb2YgYWxsIGxldmVscyBvZiBBRVJlY2VpdmUgdG8gdGhlIHRvcG1vc3QgKDEuMSBvciBncmVhdGVyKQplcnJBRVJlY29yZGluZ0lzQWxyZWFkeU9uICAgPSAgIC0xNzMyICAgI2F2YWlsYWJsZSBvbmx5IGluIHZlcnNpb24gMS4wLjEgb3IgZ3JlYXRlcgplcnJBRVVua25vd25PYmplY3RUeXBlICA9ICAgLTE3MzEgICAjYXZhaWxhYmxlIG9ubHkgaW4gdmVyc2lvbiAxLjAuMSBvciBncmVhdGVyCmVyckFFRW1wdHlMaXN0Q29udGFpbmVyID0gICAtMTczMCAgICNBdHRlbXB0IHRvIHBhc3MgZW1wdHkgbGlzdCBhcyBjb250YWluZXIgdG8gYWNjZXNzb3IKZXJyQUVOZWdhdGl2ZUNvdW50ICA9ICAgLTE3MjkgICAjQ291bnRQcm9jIHJldHVybmVkIG5lZ2F0aXZlIHZhbHVlCmVyckFFTm9TdWNoT2JqZWN0ICAgPSAgIC0xNzI4ICAgI2UuZy4sOiBzcGVjaWZpZXIgYXNrZWQgZm9yIHRoZSAzcmQsIGJ1dCB0aGVyZSBhcmUgb25seSAyLiBCYXNpY2FsbHksIHRoaXMgaW5kaWNhdGVzIGEgcnVuLXRpbWUgcmVzb2x1dGlvbiBlcnJvci4KZXJyQUVOb3RBbk9ialNwZWMgICA9ICAgLTE3MjcgICAjUGFyYW0gdG8gQUVSZXNvbHZlIG5vdCBvZiB0eXBlICdvYmogJwplcnJBRUJhZFRlc3RLZXkgPSAgIC0xNzI2ICAgI1Rlc3QgaXMgbmVpdGhlciB0eXBlTG9naWNhbERlc2NyaXB0b3Igbm9yIHR5cGVDb21wRGVzY3JpcHRvcgplcnJBRU5vU3VjaExvZ2ljYWwgID0gICAtMTcyNSAgICNTb21ldGhpbmcgb3RoZXIgdGhhbiBBTkQsIE9SLCBvciBOT1QKZXJyQUVBY2Nlc3Nvck5vdEZvdW5kICAgPSAgIC0xNzIzICAgI0FjY2Vzc29yIHByb2MgbWF0Y2hpbmcgd2FudENsYXNzIGFuZCBjb250YWluZXJUeXBlIG9yIHdpbGRjYXJkcyBub3QgZm91bmQKZXJyQUVXcm9uZ051bWJlckFyZ3MgICAgPSAgIC0xNzIxICAgI0xvZ2ljYWwgb3Aga0FFTk9UIHVzZWQgd2l0aCBvdGhlciB0aGFuIDEgdGVybQplcnJBRUltcG9zc2libGVSYW5nZSAgICA9ICAgLTE3MjAgICAjQSByYW5nZSBsaWtlIDNyZCB0byAybmQsIG9yIDFzdCB0byBhbGwuCmVyckFFSWxsZWdhbEluZGV4ICAgPSAgIC0xNzE5ICAgI2luZGV4IGlzIG91dCBvZiByYW5nZSBpbiBhIHB1dCBvcGVyYXRpb24KZXJyQUVSZXBseU5vdEFycml2ZWQgICAgPSAgIC0xNzE4ICAgI3RoZSBjb250ZW50cyBvZiB0aGUgcmVwbHkgeW91IGFyZSBhY2Nlc3NpbmcgaGF2ZSBub3QgYXJyaXZlZCB5ZXQKZXJyQUVIYW5kbGVyTm90Rm91bmQgICAgPSAgIC0xNzE3ICAgI25vIGhhbmRsZXIgaW4gdGhlIGRpc3BhdGNoIHRhYmxlcyBmaXRzIHRoZSBwYXJhbWV0ZXJzIHRvIEFFR2V0RXZlbnRIYW5kbGVyIG9yIEFFR2V0Q29lcmNpb25IYW5kbGVyCmVyckFFVW5rbm93bkFkZHJlc3NUeXBlID0gICAtMTcxNiAgICN0aGUgdGFyZ2V0IGFkZHJlc3MgdHlwZSBpcyBub3Qga25vd24KZXJyQUVQYXJhbU1pc3NlZCAgICA9ICAgLTE3MTUgICAjYSByZXF1aXJlZCBwYXJhbWV0ZXIgd2FzIG5vdCBhY2Nlc3NlZAplcnJBRU5vdEFTcGVjaWFsRnVuY3Rpb24gICAgPSAgIC0xNzE0ICAgI3RoZXJlIGlzIG5vIHNwZWNpYWwgZnVuY3Rpb24gZm9yL3dpdGggdGhpcyBrZXl3b3JkCmVyckFFTm9Vc2VySW50ZXJhY3Rpb24gID0gICAtMTcxMyAgICNubyB1c2VyIGludGVyYWN0aW9uIGlzIGFsbG93ZWQKZXJyQUVUaW1lb3V0ICAgID0gICAtMTcxMiAgICN0aGUgQXBwbGVFdmVudCB0aW1lZCBvdXQKZXJyQUVXYWl0Q2FuY2VsZWQgICA9ICAgLTE3MTEgICAjaW4gQUVTZW5kLCB0aGUgdXNlciBjYW5jZWxsZWQgb3V0IG9mIHdhaXQgbG9vcCBmb3IgcmVwbHkgb3IgcmVjZWlwdAplcnJBRVVua25vd25TZW5kTW9kZSAgICA9ICAgLTE3MTAgICAjbW9kZSB3YXNuJ3QgTm9SZXBseSwgV2FpdFJlcGx5LCBvciBRdWV1ZVJlcGx5IG9yIEludGVyYWN0aW9uIGxldmVsIGlzIHVua25vd24KZXJyQUVSZXBseU5vdFZhbGlkICA9ICAgLTE3MDkgICAjQUVSZXNldFRpbWVyIHdhcyBwYXNzZWQgYW4gaW52YWxpZCByZXBseSBwYXJhbWV0ZXIKZXJyQUVFdmVudE5vdEhhbmRsZWQgICAgPSAgIC0xNzA4ICAgI3RoZSBBcHBsZUV2ZW50IHdhcyBub3QgaGFuZGxlZCBieSBhbnkgaGFuZGxlcgplcnJBRU5vdEFwcGxlRXZlbnQgID0gICAtMTcwNyAgICN0aGUgZXZlbnQgaXMgbm90IGluIEFwcGxlRXZlbnQgZm9ybWF0CmVyckFFTmV3ZXJWZXJzaW9uICAgPSAgIC0xNzA2ICAgI25lZWQgbmV3ZXIgdmVyc2lvbiBvZiB0aGUgQXBwbGVFdmVudCBtYW5hZ2VyCmVyckFFQmFkTGlzdEl0ZW0gICAgPSAgIC0xNzA1ICAgI3RoZSBzcGVjaWZpZWQgbGlzdCBpdGVtIGRvZXMgbm90IGV4aXN0CmVyckFFTm90QUVEZXNjICA9ICAgLTE3MDQgICAjZXJyQUVOb3RBRURlc2MKZXJyQUVXcm9uZ0RhdGFUeXBlICA9ICAgLTE3MDMgICAjZXJyQUVXcm9uZ0RhdGFUeXBlCmVyckFFQ29ycnVwdERhdGEgICAgPSAgIC0xNzAyICAgI2VyckFFQ29ycnVwdERhdGEKZXJyQUVEZXNjTm90Rm91bmQgICA9ICAgLTE3MDEgICAjZXJyQUVEZXNjTm90Rm91bmQKZXJyQUVDb2VyY2lvbkZhaWwgICA9ICAgLTE3MDAgICAjYmFkIHBhcmFtZXRlciBkYXRhIG9yIHVuYWJsZSB0byBjb2VyY2UgdGhlIGRhdGEgc3VwcGxpZWQKZXJyRlNJdGVyYXRvck5vdFN1cHBvcnRlZCAgID0gICAtMTQyNCAgICNUaGUgaXRlcmF0b3IncyBmbGFncyBvciBjb250YWluZXIgYXJlIG5vdCBzdXBwb3J0ZWQgYnkgdGhpcyBjYWxsCmVyckZTSXRlcmF0b3JOb3RGb3VuZCAgID0gICAtMTQyMyAgICNQYXNzZWQgRlNJdGVyYXRvciBpcyBub3QgYW4gb3BlbiBpdGVyYXRvcgplcnJGU0JhZEl0ZXJhdG9yRmxhZ3MgICA9ICAgLTE0MjIgICAjRmxhZ3MgcGFzc2VkIHRvIEZTT3Blbkl0ZXJhdG9yIGFyZSBiYWQKZXJyRlNGb3JrRXhpc3RzID0gICAtMTQyMSAgICNOYW1lZCBmb3JrIGFscmVhZHkgZXhpc3RzLgplcnJGU1JlZnNEaWZmZXJlbnQgID0gICAtMTQyMCAgICNGU0NvbXBhcmVGU1JlZnM7IHJlZnMgYXJlIGZvciBkaWZmZXJlbnQgb2JqZWN0cwplcnJGU0JhZFNlYXJjaFBhcmFtcyAgICA9ICAgLTE0MTkgICAjU29tZXRoaW5nIHdyb25nIHdpdGggQ2F0YWxvZ1NlYXJjaCBzZWFyY2hQYXJhbXMKZXJyRlNCYWRJdGVtQ291bnQgICA9ICAgLTE0MTggICAjbWF4aW11bUl0ZW1zIHdhcyB6ZXJvCmVyckZTTm9Nb3JlSXRlbXMgICAgPSAgIC0xNDE3ICAgI0l0ZXJhdGlvbiByYW4gb3V0IG9mIGl0ZW1zIHRvIHJldHVybgplcnJGU0JhZEFsbG9jRmxhZ3MgID0gICAtMTQxMyAgICNJbnZhbGlkIGJpdHMgc2V0IGluIGFsbG9jYXRpb25GbGFncwplcnJGU0JhZFBvc01vZGUgPSAgIC0xNDEyICAgI05ld2xpbmUgYml0cyBzZXQgaW4gcG9zaXRpb25Nb2RlCmVyckZTTWlzc2luZ05hbWUgICAgPSAgIC0xNDExICAgI0EgVW5pY29kZSBuYW1lIHBhcmFtZXRlciB3YXMgTlVMTCBvciBuYW1lTGVuZ3RoIHBhcmFtZXRlciB3YXMgemVybwplcnJGU05hbWVUb29Mb25nICAgID0gICAtMTQxMCAgICNGaWxlL2ZvcmsgbmFtZSBpcyB0b28gbG9uZyB0byBjcmVhdGUvcmVuYW1lCmVyckZTRm9ya05vdEZvdW5kICAgPSAgIC0xNDA5ICAgI05hbWVkIGZvcmsgZG9lcyBub3QgZXhpc3QKZXJyRlNOb3RBRm9sZGVyID0gICAtMTQwNyAgICNFeHBlY3RlZCBhIGZvbGRlciwgZ290IGEgZmlsZQplcnJGU01pc3NpbmdDYXRJbmZvID0gICAtMTQwNiAgICNBIENhdGFsb2dJbmZvIHBhcmFtZXRlciB3YXMgTlVMTAplcnJGU0JhZEluZm9CaXRtYXAgID0gICAtMTQwNSAgICNBIENhdGFsb2dJbmZvQml0bWFwIG9yIFZvbHVtZUluZm9CaXRtYXAgaGFzIHJlc2VydmVkIG9yIGludmFsaWQgYml0cyBzZXQKZXJyRlNCYWRGb3JrUmVmID0gICAtMTQwNCAgICNBIEZvcmtSZWZOdW0gcGFyYW1ldGVyIHdhcyBiYWQKZXJyRlNCYWRCdWZmZXIgID0gICAtMTQwMyAgICNBIGJ1ZmZlciBwYXJhbWV0ZXIgd2FzIGJhZAplcnJGU0JhZEZvcmtOYW1lICAgID0gICAtMTQwMiAgICNGb3JrIG5hbWUgcGFyYW1ldGVyIGlzIGJhZAplcnJGU0JhZEZTUmVmICAgPSAgIC0xNDAxICAgI0ZTUmVmIHBhcmFtZXRlciBpcyBiYWQKZXJyRlNVbmtub3duQ2FsbCAgICA9ICAgLTE0MDAgICAjc2VsZWN0b3IgaXMgbm90IHJlY29nbml6ZWQgYnkgdGhpcyBmaWxlc3lzdGVtCmJhZEZDQkVyciAgID0gICAtMTMyNyAgICNGQ0JSZWNQdHIgaXMgbm90IHZhbGlkCnZvbFZNQnVzeUVyciAgICA9ICAgLTEzMTEgICAjY2FuJ3QgZWplY3QgYmVjYXVzZSB2b2x1bWUgaXMgaW4gdXNlIGJ5IFZNCmZzRGF0YVRvb0JpZ0VyciA9ICAgLTEzMTAgICAjZmlsZSBvciB2b2x1bWUgaXMgdG9vIGJpZyBmb3Igc3lzdGVtCmZpbGVCb3VuZHNFcnIgICA9ICAgLTEzMDkgICAjZmlsZSdzIEVPRiwgb2Zmc2V0LCBtYXJrIG9yIHNpemUgaXMgdG9vIGJpZwpub3RBUmVtb3VudEVyciAgPSAgIC0xMzA4ICAgI3doZW4gX01vdW50IGFsbG93cyBvbmx5IHJlbW91bnRzIGFuZCBkb2Vzbid0IGdldCBvbmUKYmFkRmlkRXJyICAgPSAgIC0xMzA3ICAgI2ZpbGUgaWQgaXMgZGFuZ2xpbmcgb3IgZG9lc24ndCBtYXRjaCB3aXRoIHRoZSBmaWxlIG51bWJlcgpzYW1lRmlsZUVyciA9ICAgLTEzMDYgICAjY2FuJ3QgZXhjaGFuZ2UgYSBmaWxlIHdpdGggaXRzZWxmCmRlc2t0b3BEYW1hZ2VkRXJyICAgPSAgIC0xMzA1ICAgI2Rlc2t0b3AgZGF0YWJhc2UgZmlsZXMgYXJlIGNvcnJ1cHRlZApjYXRDaGFuZ2VkRXJyICAgPSAgIC0xMzA0ICAgI3RoZSBjYXRhbG9nIGhhcyBiZWVuIG1vZGlmaWVkCmRpZmZWb2xFcnIgID0gICAtMTMwMyAgICNmaWxlcyBvbiBkaWZmZXJlbnQgdm9sdW1lcwpub3RBRmlsZUVyciA9ICAgLTEzMDIgICAjZGlyZWN0b3J5IHNwZWNpZmllZApmaWRFeGlzdHMgICA9ICAgLTEzMDEgICAjZmlsZSBpZCBhbHJlYWR5IGV4aXN0cwpmaWROb3RGb3VuZCA9ICAgLTEzMDAgICAjbm8gZmlsZSB0aHJlYWQgZXhpc3RzLgplcnJSZWZOdW0gICA9ICAgLTEyODAgICAjYmFkIGNvbm5lY3Rpb24gcmVmTnVtCmVyckFib3J0ZWQgID0gICAtMTI3OSAgICNjb250cm9sIGNhbGwgd2FzIGFib3J0ZWQKZXJyU3RhdGUgICAgPSAgIC0xMjc4ICAgI2JhZCBjb25uZWN0aW9uIHN0YXRlIGZvciB0aGlzIG9wZXJhdGlvbgplcnJPcGVuaW5nICA9ICAgLTEyNzcgICAjb3BlbiBjb25uZWN0aW9uIHJlcXVlc3QgZmFpbGVkCmVyckF0dGVudGlvbiAgICA9ICAgLTEyNzYgICAjYXR0ZW50aW9uIG1lc3NhZ2UgdG9vIGxvbmcKZXJyRndkUmVzZXQgPSAgIC0xMjc1ICAgI3JlYWQgdGVybWluYXRlZCBieSBmb3J3YXJkIHJlc2V0CmVyckRTUFF1ZXVlU2l6ZSA9ICAgLTEyNzQgICAjRFNQIFJlYWQvV3JpdGUgUXVldWUgVG9vIHNtYWxsCmVyck9wZW5EZW5pZWQgICA9ICAgLTEyNzMgICAjb3BlbiBjb25uZWN0aW9uIHJlcXVlc3Qgd2FzIGRlbmllZApyZXFBYm9ydGVkICA9ICAgLTExMDUgICAjcmVxQWJvcnRlZApub0RhdGFBcmVhICA9ICAgLTExMDQgICAjbm9EYXRhQXJlYQpub1NlbmRSZXNwICA9ICAgLTExMDMgICAjbm9TZW5kUmVzcApjYk5vdEZvdW5kICA9ICAgLTExMDIgICAjY2JOb3RGb3VuZApub1JlbEVyciAgICA9ICAgLTExMDEgICAjbm9SZWxFcnIKYmFkQnVmZk51bSAgPSAgIC0xMTAwICAgI2JhZEJ1ZmZOdW0KYmFkQVRQU2t0ICAgPSAgIC0xMDk5ICAgI2JhZEFUUFNrdAp0b29NYW55U2t0cyA9ICAgLTEwOTggICAjdG9vTWFueVNrdHMKdG9vTWFueVJlcXMgPSAgIC0xMDk3ICAgI3Rvb01hbnlSZXFzCnJlcUZhaWxlZCAgID0gICAtMTA5NiAgICNyZXFGYWlsZWQKYXNwTm9BY2sgICAgPSAgIC0xMDc1ICAgI05vIGFjayBvbiBhdHRlbnRpb24gcmVxdWVzdCAoc2VydmVyIGVycikKYXNwVG9vTWFueSAgPSAgIC0xMDc0ICAgI1RvbyBtYW55IGNsaWVudHMgKHNlcnZlciBlcnJvcikKYXNwU2l6ZUVyciAgPSAgIC0xMDczICAgI0NvbW1hbmQgYmxvY2sgdG9vIGJpZwphc3BTZXNzQ2xvc2VkICAgPSAgIC0xMDcyICAgI1Nlc3Npb24gY2xvc2VkCmFzcFNlcnZlckJ1c3kgICA9ICAgLTEwNzEgICAjU2VydmVyIGNhbm5vdCBvcGVuIGFub3RoZXIgc2Vzc2lvbgphc3BQYXJhbUVyciA9ICAgLTEwNzAgICAjUGFyYW1ldGVyIGVycm9yCmFzcE5vU2VydmVycyAgICA9ICAgLTEwNjkgICAjTm8gc2VydmVycyBhdCB0aGF0IGFkZHJlc3MKYXNwTm9Nb3JlU2VzcyAgID0gICAtMTA2OCAgICNObyBtb3JlIHNlc3Npb25zIG9uIHNlcnZlcgphc3BCdWZUb29TbWFsbCAgPSAgIC0xMDY3ICAgI0J1ZmZlciB0b28gc21hbGwKYXNwQmFkVmVyc051bSAgID0gICAtMTA2NiAgICNTZXJ2ZXIgY2Fubm90IHN1cHBvcnQgdGhpcyBBU1AgdmVyc2lvbgpuYnBOSVNFcnIgICA9ICAgLTEwMjkgICAjRXJyb3IgdHJ5aW5nIHRvIG9wZW4gdGhlIE5JUwpuYnBOb3RGb3VuZCA9ICAgLTEwMjggICAjTmFtZSBub3QgZm91bmQgb24gcmVtb3ZlCm5icER1cGxpY2F0ZSAgICA9ICAgLTEwMjcgICAjRHVwbGljYXRlIG5hbWUgZXhpc3RzIGFscmVhZHkKbmJwQ29uZkRpZmYgPSAgIC0xMDI2ICAgI05hbWUgY29uZmlybWVkIGF0IGRpZmZlcmVudCBzb2NrZXQKbmJwTm9Db25maXJtICAgID0gICAtMTAyNSAgICNuYnBOb0NvbmZpcm0KbmJwQnVmZk92ciAgPSAgIC0xMDI0ICAgI0J1ZmZlciBvdmVyZmxvdyBpbiBMb29rdXBOYW1lCm5vTWFza0ZvdW5kRXJyICA9ICAgLTEwMDAgICAjSWNvbiBVdGlsdGllcyBFcnJvcgprRk1Gb250Q29udGFpbmVyQWNjZXNzRXJyICAgPSAgIC05ODUgICAgI2tGTUZvbnRDb250YWluZXJBY2Nlc3NFcnIKa0ZNRm9udFRhYmxlQWNjZXNzRXJyICAgPSAgIC05ODQgICAgI2tGTUZvbnRUYWJsZUFjY2Vzc0VycgprRk1JdGVyYXRpb25TY29wZU1vZGlmaWVkRXJyICAgID0gICAtOTgzICAgICNrRk1JdGVyYXRpb25TY29wZU1vZGlmaWVkRXJyCmtGTUludmFsaWRGb250RXJyICAgPSAgIC05ODIgICAgI2tGTUludmFsaWRGb250RXJyCmtGTUludmFsaWRGb250RmFtaWx5RXJyID0gICAtOTgxICAgICNrRk1JbnZhbGlkRm9udEZhbWlseUVycgprRk1JdGVyYXRpb25Db21wbGV0ZWQgICA9ICAgLTk4MCAgICAja0ZNSXRlcmF0aW9uQ29tcGxldGVkCmd1ZXN0Tm90QWxsb3dlZEVyciAgPSAgIC05MzIgICAgI2Rlc3RpbmF0aW9uIHBvcnQgcmVxdWlyZXMgYXV0aGVudGljYXRpb24KYmFkTG9jTmFtZUVyciAgID0gICAtOTMxICAgICNsb2NhdGlvbiBuYW1lIG1hbGZvcm1lZApiYWRTZXJ2aWNlTWV0aG9kRXJyID0gICAtOTMwICAgICNpbGxlZ2FsIHNlcnZpY2UgdHlwZSwgb3Igbm90IHN1cHBvcnRlZApub1VzZXJSZWNFcnIgICAgPSAgIC05MjggICAgI0ludmFsaWQgdXNlciByZWZlcmVuY2UgbnVtYmVyCmF1dGhGYWlsRXJyID0gICAtOTI3ICAgICN1bmFibGUgdG8gYXV0aGVudGljYXRlIHVzZXIgYXQgZGVzdGluYXRpb24Kbm9JbmZvcm1FcnIgPSAgIC05MjYgICAgI1BQQ1N0YXJ0IGZhaWxlZCBiZWNhdXNlIGRlc3RpbmF0aW9uIGRpZCBub3QgaGF2ZSBpbmZvcm0gcGVuZGluZwpuZXR3b3JrRXJyICA9ICAgLTkyNSAgICAjQW4gZXJyb3IgaGFzIG9jY3VycmVkIGluIHRoZSBuZXR3b3JrLCBub3QgdG9vIGxpa2VseQpub1VzZXJSZWZFcnIgICAgPSAgIC05MjQgICAgI3VuYWJsZSB0byBjcmVhdGUgYSBuZXcgdXNlclJlZk51bQpub3RMb2dnZWRJbkVyciAgPSAgIC05MjMgICAgI1RoZSBkZWZhdWx0IHVzZXJSZWZOdW0gZG9lcyBub3QgeWV0IGV4aXN0Cm5vRGVmYXVsdFVzZXJFcnIgICAgPSAgIC05MjIgICAgI3VzZXIgaGFzbid0IHR5cGVkIGluIG93bmVycyBuYW1lIGluIE5ldHdvcmsgU2V0dXAgQ29udHJvbCBQYW5uZWwKYmFkUG9ydE5hbWVFcnIgID0gICAtOTE5ICAgICNQUENQb3J0UmVjIG1hbGZvcm1lZApzZXNzQ2xvc2VkRXJyICAgPSAgIC05MTcgICAgI3Nlc3Npb24gd2FzIGNsb3NlZApwb3J0Q2xvc2VkRXJyICAgPSAgIC05MTYgICAgI3BvcnQgd2FzIGNsb3NlZApub1Jlc3BvbnNlRXJyICAgPSAgIC05MTUgICAgI3VuYWJsZSB0byBjb250YWN0IGRlc3RpbmF0aW9uCm5vVG9vbGJveE5hbWVFcnIgICAgPSAgIC05MTQgICAgI0Egc3lzdGVtIHJlc291cmNlIGlzIG1pc3NpbmcsIG5vdCB0b28gbGlrZWx5Cm5vTWFjaGluZU5hbWVFcnIgICAgPSAgIC05MTMgICAgI3VzZXIgaGFzbid0IG5hbWVkIGhpcyBNYWNpbnRvc2ggaW4gdGhlIE5ldHdvcmsgU2V0dXAgQ29udHJvbCBQYW5lbAp1c2VyUmVqZWN0RXJyICAgPSAgIC05MTIgICAgI0Rlc3RpbmF0aW9uIHJlamVjdGVkIHRoZSBzZXNzaW9uIHJlcXVlc3QKbm9Vc2VyTmFtZUVyciAgID0gICAtOTExICAgICN1c2VyIG5hbWUgdW5rbm93biBvbiBkZXN0aW5hdGlvbiBtYWNoaW5lCnBvcnROYW1lRXhpc3RzRXJyICAgPSAgIC05MTAgICAgI3BvcnQgaXMgYWxyZWFkeSBvcGVuIChwZXJoYXBzIGluIGFub3RoZXIgYXBwKQpiYWRSZXFFcnIgICA9ICAgLTkwOSAgICAjYmFkIHBhcmFtZXRlciBvciBpbnZhbGlkIHN0YXRlIGZvciBvcGVyYXRpb24Kbm9TZXNzaW9uRXJyICAgID0gICAtOTA4ICAgICNJbnZhbGlkIHNlc3Npb24gcmVmZXJlbmNlIG51bWJlcgpzZXNzVGFibGVFcnIgICAgPSAgIC05MDcgICAgI091dCBvZiBzZXNzaW9uIHRhYmxlcywgdHJ5IGFnYWluIGxhdGVyCmRlc3RQb3J0RXJyID0gICAtOTA2ICAgICNQb3J0IGRvZXMgbm90IGV4aXN0IGF0IGRlc3RpbmF0aW9uCmxvY2FsT25seUVyciAgICA9ICAgLTkwNSAgICAjTmV0d29yayBhY3Rpdml0eSBpcyBjdXJyZW50bHkgZGlzYWJsZWQKbm9HbG9iYWxzRXJyICAgID0gICAtOTA0ICAgICNUaGUgc3lzdGVtIGlzIGhvc2VkLCBiZXR0ZXIgcmUtYm9vdApub1BvcnRFcnIgICA9ICAgLTkwMyAgICAjVW5hYmxlIHRvIG9wZW4gcG9ydCBvciBiYWQgcG9ydFJlZk51bS4gIElmIHlvdSdyZSBjYWxsaW5nCm5hbWVUeXBlRXJyID0gICAtOTAyICAgICNJbnZhbGlkIG9yIGluYXBwcm9wcmlhdGUgbG9jYXRpb25LaW5kU2VsZWN0b3IgaW4gbG9jYXRpb25OYW1lCm5vdEluaXRFcnIgID0gICAtOTAwICAgICNQUENUb29sQm94IG5vdCBpbml0aWFsaXplZApub3RBcHByb3ByaWF0ZUZvckNsYXNzaWMgICAgPSAgIC04NzcgICAgI1RoaXMgYXBwbGljYXRpb24gd29uJ3Qgb3Igc2hvdWxkbid0IHJ1biBvbiBDbGFzc2ljIChQcm9ibGVtIDI0ODEwNTgpLgphcHBWZXJzaW9uVG9vT2xkICAgID0gICAtODc2ICAgICNUaGUgYXBwbGljYXRpb24ncyBjcmVhdG9yIGFuZCB2ZXJzaW9uIGFyZSBpbmNvbXBhdGlibGUgd2l0aCB0aGUgY3VycmVudCB2ZXJzaW9uIG9mIE1hYyBPUy4Kd3JvbmdBcHBsaWNhdGlvblBsYXRmb3JtICAgID0gICAtODc1ICAgICNUaGUgYXBwbGljYXRpb24gY291bGQgbm90IGxhdW5jaCBiZWNhdXNlIHRoZSByZXF1aXJlZCBwbGF0Zm9ybSBpcyBub3QgYXZhaWxhYmxlCmhtQ2xvc2VWaWV3QWN0aXZlICAgPSAgIC04NjMgICAgI1JldHVybmVkIGZyb20gSE1SZW1vdmVCYWxsb29uIGlmIENsb3NlVmlldyB3YXMgYWN0aXZlCmhtTm9CYWxsb29uVXAgICA9ICAgLTg2MiAgICAjUmV0dXJuZWQgZnJvbSBITVJlbW92ZUJhbGxvb24gaWYgbm8gYmFsbG9vbiB3YXMgdmlzaWJsZSB3aGVuIGNhbGwgd2FzIG1hZGUKaG1PcGVyYXRpb25VbnN1cHBvcnRlZCAgPSAgIC04NjEgICAgI1JldHVybmVkIGZyb20gSE1TaG93QmFsbG9vbiBjYWxsIGlmIGJhZCBtZXRob2QgcGFzc2VkIHRvIHJvdXRpbmUKaG1Vbmtub3duSGVscFR5cGUgICA9ICAgLTg1OSAgICAjUmV0dXJuZWQgaWYgaGVscCBtc2cgcmVjb3JkIGNvbnRhaW5lZCBhIGJhZCB0eXBlCmhtV3JvbmdWZXJzaW9uICA9ICAgLTg1OCAgICAjUmV0dXJuZWQgaWYgaGVscCBtZ3IgcmVzb3VyY2Ugd2FzIHRoZSB3cm9uZyB2ZXJzaW9uCmhtU2tpcHBlZEJhbGxvb24gICAgPSAgIC04NTcgICAgI1JldHVybmVkIGZyb20gY2FsbHMgaWYgaGVscG1zZyBzcGVjaWZpZWQgYSBza2lwIGJhbGxvb24KaG1IZWxwTWFuYWdlck5vdEluaXRlZCAgPSAgIC04NTUgICAgI1JldHVybmVkIGZyb20gSE1HZXRIZWxwTWVudUhhbmRsZSBpZiBoZWxwIG1lbnUgbm90IHNldHVwCmhtU2FtZUFzTGFzdEJhbGxvb24gPSAgIC04NTQgICAgI1JldHVybmVkIGZyb20gSE1TaG93TWVudUJhbGxvb24gaWYgbWVudSAmIGl0ZW0gaXMgc2FtZSBhcyBsYXN0IHRpbWUKaG1CYWxsb29uQWJvcnRlZCAgICA9ICAgLTg1MyAgICAjUmV0dXJuZWQgaWYgbW91c2Ugd2FzIG1vdmluZyBvciBtb3VzZSB3YXNuJ3QgaW4gd2luZG93IHBvcnQgcmVjdApobUhlbHBEaXNhYmxlZCAgPSAgIC04NTAgICAgI1Nob3cgQmFsbG9vbnMgbW9kZSB3YXMgb2ZmLCBjYWxsIHRvIHJvdXRpbmUgaWdub3JlZApyY0RCUGFja05vdEluaXRlZCAgID0gICAtODEzICAgICNhdHRlbXB0IHRvIGNhbGwgb3RoZXIgcm91dGluZSBiZWZvcmUgSW5pdERCUGFjawpyY0RCV3JvbmdWZXJzaW9uICAgID0gICAtODEyICAgICNpbmNvbXBhdGlibGUgdmVyc2lvbnMKcmNEQk5vSGFuZGxlciAgID0gICAtODExICAgICNubyBhcHAgaGFuZGxlciBmb3Igc3BlY2lmaWVkIGRhdGEgdHlwZQpyY0RCQmFkQXN5bmNQQiAgPSAgIC04MTAgICAgI3RyaWVkIHRvIGtpbGwgYSBiYWQgcGIKcmNEQkFzeW5jTm90U3VwcCAgICA9ICAgLTgwOSAgICAjZGRldiBkb2VzIG5vdCBzdXBwb3J0IGFzeW5jIGNhbGxzCnJjREJCYWREREVWID0gICAtODA4ICAgICNiYWQgZGRldiBzcGVjaWZpZWQgb24gREJJbml0CnJjREJCYWRTZXNzTnVtICA9ICAgLTgwNyAgICAjYmFkIHNlc3Npb24gbnVtYmVyIGZvciBEQkdldENvbm5JbmZvCnJjREJCYWRTZXNzSUQgICA9ICAgLTgwNiAgICAjcmNEQkJhZFNlc3NJRApyY0RCRXhlYyAgICA9ICAgLTgwNSAgICAjcmNEQkV4ZWMKcmNEQkJyZWFrICAgPSAgIC04MDQgICAgI3JjREJCcmVhawpyY0RCQmFkVHlwZSA9ICAgLTgwMyAgICAjcmNEQkJhZFR5cGUKcmNEQkVycm9yICAgPSAgIC04MDIgICAgI3JjREJFcnJvcgpyY0RCVmFsdWUgICA9ICAgLTgwMSAgICAjcmNEQlZhbHVlCnJjREJOdWxsICAgID0gICAtODAwICAgICNyY0RCTnVsbAppY1Rvb01hbnlQcm9maWxlc0VyciAgICA9ICAgLTY3NyAgICAjdG9vIG1hbnkgcHJvZmlsZXMgaW4gZGF0YWJhc2UKaWNQcm9maWxlTm90Rm91bmRFcnIgICAgPSAgIC02NzYgICAgI3Byb2ZpbGUgbm90IGZvdW5kCmljQ29uZmlnSW5hcHByb3ByaWF0ZUVyciAgICA9ICAgLTY3NSAgICAjaW5jb3JyZWN0IG1hbnVmYWN0dXJlciBjb2RlCmljQ29uZmlnTm90Rm91bmRFcnIgPSAgIC02NzQgICAgI25vIGludGVybmV0IGNvbmZpZ3VyYXRpb24gd2FzIGZvdW5kCmljTm9VUkxFcnIgID0gICAtNjczICAgICNubyBVUkwgZm91bmQKaWNOb3RoaW5nVG9PdmVycmlkZUVyciAgPSAgIC02NzIgICAgI25vIGNvbXBvbmVudCBmb3IgdGhlIG92ZXJyaWRlIGNvbXBvbmVudCB0byBjYXB0dXJlCmljTm9Nb3JlV3JpdGVyc0VyciAgPSAgIC02NzEgICAgI3lvdSBjYW5ub3QgYmVnaW4gYSB3cml0ZSBzZXNzaW9uIGJlY2F1c2Ugc29tZW9uZSBlbHNlIGlzIGFscmVhZHkgZG9pbmcgaXQKaWNUcnVuY2F0ZWRFcnIgID0gICAtNjcwICAgICNtb3JlIGRhdGEgd2FzIHByZXNlbnQgdGhhbiB3YXMgcmV0dXJuZWQKaWNJbnRlcm5hbEVyciAgID0gICAtNjY5ICAgICNJbnRlcm5ldCBDb25maWcgaW50ZXJuYWwgZXJyb3IKaWNQcmVmRGF0YUVyciAgID0gICAtNjY4ICAgICNwcm9ibGVtIHdpdGggcHJlZmVyZW5jZSBkYXRhCmljUGVybUVyciAgID0gICAtNjY3ICAgICNjYW5ub3Qgc2V0IHByZWZlcmVuY2UKaWNQcmVmTm90Rm91bmRFcnIgICA9ICAgLTY2NiAgICAjSW50ZXJuZXQgcHJlZmVyZW5jZSBub3QgZm91bmQKdm1JbnZhbGlkT3duaW5nUHJvY2Vzc0VyciAgID0gICAtNjQ4ICAgICNjdXJyZW50IHByb2Nlc3MgZG9lcyBub3Qgb3duIHRoZSBCYWNraW5nRmlsZUlEIG9yIEZpbGVWaWV3SUQKdm1BZGRyZXNzTm90SW5GaWxlVmlld0VyciAgID0gICAtNjQ3ICAgICNhZGRyZXNzIGlzIG5vdCBpbiBhIEZpbGVWaWV3CnZtTm9Nb3JlRmlsZVZpZXdzRXJyICAgID0gICAtNjQ2ICAgICNubyBtb3JlIEZpbGVWaWV3cyB3ZXJlIGZvdW5kCnZtRmlsZVZpZXdBY2Nlc3NFcnIgPSAgIC02NDUgICAgI3JlcXVlc3RlZCBGaWxlVmlld0FjY2VzcyBjYW5ub3QgYmUgb2J0YWluZWQKdm1JbnZhbGlkRmlsZVZpZXdJREVyciAgPSAgIC02NDQgICAgI2ludmFsaWQgRmlsZVZpZXdJRAp2bU5vTW9yZUJhY2tpbmdGaWxlc0VyciA9ICAgLTY0MyAgICAjbm8gbW9yZSBCYWNraW5nRmlsZXMgd2VyZSBmb3VuZAp2bUJ1c3lCYWNraW5nRmlsZUVyciAgICA9ICAgLTY0MiAgICAjb3BlbiB2aWV3cyBmb3VuZCBvbiBCYWNraW5nRmlsZQp2bU1hcHBpbmdQcml2aWxlZ2VzRXJyICA9ICAgLTY0MSAgICAjcmVxdWVzdGVkIE1hcHBpbmdQcml2aWxlZ2VzIGNhbm5vdCBiZSBvYnRhaW5lZAp2bUludmFsaWRCYWNraW5nRmlsZUlERXJyICAgPSAgIC02NDAgICAgI2ludmFsaWQgQmFja2luZ0ZpbGVJRApub01NVUVyciAgICA9ICAgLTYyNiAgICAjbm8gTU1VIHByZXNlbnQKY2Fubm90RGVmZXJFcnIgID0gICAtNjI1ICAgICN1bmFibGUgdG8gZGVmZXIgYWRkaXRpb25hbCBmdW5jdGlvbnMKaW50ZXJydXB0c01hc2tlZEVyciA9ICAgLTYyNCAgICAjZG9u1XQgY2FsbCB3aXRoIGludGVycnVwdHMgbWFza2VkCm5vdExvY2tlZEVyciAgICA9ICAgLTYyMyAgICAjc3BlY2lmaWVkIHJhbmdlIG9mIG1lbW9yeSBpcyBub3QgbG9ja2VkCmNhbm5vdE1ha2VDb250aWd1b3VzRXJyID0gICAtNjIyICAgICNjYW5ub3QgbWFrZSBzcGVjaWZpZWQgcmFuZ2UgY29udGlndW91cwpub3RIZWxkRXJyICA9ICAgLTYyMSAgICAjc3BlY2lmaWVkIHJhbmdlIG9mIG1lbW9yeSBpcyBub3QgaGVsZApub3RFbm91Z2hNZW1vcnlFcnIgID0gICAtNjIwICAgICNpbnN1ZmZpY2llbnQgcGh5c2ljYWwgbWVtb3J5CnRocmVhZFByb3RvY29sRXJyICAgPSAgIC02MTkgICAgI3RocmVhZFByb3RvY29sRXJyCnRocmVhZE5vdEZvdW5kRXJyICAgPSAgIC02MTggICAgI3RocmVhZE5vdEZvdW5kRXJyCnRocmVhZFRvb01hbnlSZXFzRXJyICAgID0gICAtNjE3ICAgICN0aHJlYWRUb29NYW55UmVxc0Vycgpub1VzZXJJbnRlcmFjdGlvbkFsbG93ZWQgICAgPSAgIC02MTAgICAgI25vIHVzZXIgaW50ZXJhY3Rpb24gYWxsb3dlZApjb25uZWN0aW9uSW52YWxpZCAgID0gICAtNjA5ICAgICNjb25uZWN0aW9uSW52YWxpZApub091dHN0YW5kaW5nSExFICAgID0gICAtNjA4ICAgICNub091dHN0YW5kaW5nSExFCmJ1ZmZlcklzU21hbGwgICA9ICAgLTYwNyAgICAjZXJyb3IgcmV0dXJucyBmcm9tIFBvc3QgYW5kIEFjY2VwdAphcHBJc0RhZW1vbiA9ICAgLTYwNiAgICAjYXBwIGlzIEJHLW9ubHksIGFuZCBsYXVuY2ggZmxhZ3MgZGlzYWxsb3cgdGhpcwphcHBNZW1GdWxsRXJyICAgPSAgIC02MDUgICAgI2FwcGxpY2F0aW9uIFNJWkUgbm90IGJpZyBlbm91Z2ggZm9yIGxhdW5jaApoYXJkd2FyZUNvbmZpZ0VyciAgID0gICAtNjA0ICAgICNoYXJkd2FyZSBjb25maWd1cmF0aW9uIG5vdCBjb3JyZWN0IGZvciBjYWxsCnByb3RvY29sRXJyID0gICAtNjAzICAgICNhcHAgbWFkZSBtb2R1bGUgY2FsbHMgaW4gaW1wcm9wZXIgb3JkZXIKYXBwTW9kZUVyciAgPSAgIC02MDIgICAgI21lbW9yeSBtb2RlIGlzIDMyLWJpdCwgYnV0IGFwcCBub3QgMzItYml0IGNsZWFuCm1lbUZyYWdFcnIgID0gICAtNjAxICAgICNub3QgZW5vdWdoIHJvb20gdG8gbGF1bmNoIGFwcCB3L3NwZWNpYWwgcmVxdWlyZW1lbnRzCnByb2NOb3RGb3VuZCAgICA9ICAgLTYwMCAgICAjbm8gZWxpZ2libGUgcHJvY2VzcyB3aXRoIHNwZWNpZmllZCBkZXNjcmlwdG9yCmRyaXZlckhhcmR3YXJlR29uZUVyciAgID0gICAtNTAzICAgICNkaXNrIGRyaXZlcidzIGhhcmR3YXJlIHdhcyBkaXNjb25uZWN0ZWQKaHdQYXJhbUVyciAgPSAgIC01MDIgICAgI2JhZCBzZWxlY3RvciBmb3IgX0hXUHJpdgp0ZVNjcmFwU2l6ZUVyciAgPSAgIC01MDEgICAgI3NjcmFwIGl0ZW0gdG9vIGJpZyBmb3IgdGV4dCBlZGl0IHJlY29yZApyZ25Ub29CaWdFcnIgICAgPSAgIC01MDAgICAgI3JnblRvb0JpZ0VycgpleFVzZXJCcmVhayA9ICAgLTQ5MiAgICAjdXNlciBkZWJ1Z2dlciBicmVhazsgZXhlY3V0ZSBkZWJ1Z2dlciBjb21tYW5kcyBvbiBzdGFjawpzdHJVc2VyQnJlYWsgICAgPSAgIC00OTEgICAgI3VzZXIgZGVidWdnZXIgYnJlYWs7IGRpc3BsYXkgc3RyaW5nIG9uIHN0YWNrCnVzZXJCcmVhayAgID0gICAtNDkwICAgICN1c2VyIGRlYnVnZ2VyIGJyZWFrCm5vdFRoZVB1Ymxpc2hlcldybiAgPSAgIC00NjMgICAgI25vdCB0aGUgZmlyc3QgcmVnaXN0ZXJlZCBwdWJsaXNoZXIgZm9yIHRoYXQgY29udGFpbmVyCmNvbnRhaW5lckFscmVhZHlPcGVuV3JuID0gICAtNDYyICAgICNjb250YWluZXIgYWxyZWFkeSBvcGVuZWQgYnkgdGhpcyBzZWN0aW9uCmNvbnRhaW5lck5vdEZvdW5kV3JuICAgID0gICAtNDYxICAgICNjb3VsZCBub3QgZmluZCBlZGl0aW9uQ29udGFpbmVyIGF0IHRoaXMgdGltZQptdWx0aXBsZVB1Ymxpc2hlcldybiAgICA9ICAgLTQ2MCAgICAjQSBQdWJsaXNoZXIgaXMgYWxyZWFkeSByZWdpc3RlcmVkIGZvciB0aGF0IGNvbnRhaW5lcgpiYWRTdWJQYXJ0RXJyICAgPSAgIC00NTQgICAgI2NhbiBub3QgdXNlIHN1YiBwYXJ0cyBpbiB0aGlzIHJlbGVhc2UKYmFkRWRpdGlvbkZpbGVFcnIgICA9ICAgLTQ1MyAgICAjZWRpdGlvbiBmaWxlIGlzIGNvcnJ1cHQKbm90UmVnaXN0ZXJlZFNlY3Rpb25FcnIgPSAgIC00NTIgICAgI25vdCBhIHJlZ2lzdGVyZWQgU2VjdGlvblJlY29yZApiYWRTZWN0aW9uRXJyICAgPSAgIC00NTEgICAgI25vdCBhIHZhbGlkIFNlY3Rpb25SZWNvcmQKZWRpdGlvbk1nckluaXRFcnIgICA9ICAgLTQ1MCAgICAjZWRpdGlvbiBtYW5hZ2VyIG5vdCBpbml0ZWQgYnkgdGhpcyBhcHAKZnNtVW5rbm93bkZTTU1lc3NhZ2VFcnIgPSAgIC00MzggICAgI3Vua25vd24gbWVzc2FnZSBwYXNzZWQgdG8gRlNNCmZzbU5vQWx0ZXJuYXRlU3RhY2tFcnIgID0gICAtNDM3ICAgICNubyBhbHRlcm5hdGUgc3RhY2sgZm9yIEhGUyBDSQpmc21CYWRGU0RWZXJzaW9uRXJyID0gICAtNDM2ICAgICNGU00gdmVyc2lvbiBpbmNvbXBhdGlibGUgd2l0aCBGU0QKZnNtRHVwbGljYXRlRlNJREVyciA9ICAgLTQzNSAgICAjRlNJRCBhbHJlYWR5IGV4aXN0cyBvbiBJbnN0YWxsRlMKZnNtQmFkRlNETGVuRXJyID0gICAtNDM0ICAgICNGU0Qgc2l6ZSBpbmNvbXBhdGlibGUgd2l0aCBjdXJyZW50IEZTTSB2ZXJzCmZzbUJhZEZGU05hbWVFcnIgICAgPSAgIC00MzMgICAgI05hbWUgbGVuZ3RoIG5vdCAxIDw9IGxlbmd0aCA8PSAzMQpmc21CdXN5RkZTRXJyICAgPSAgIC00MzIgICAgI0ZpbGUgc3lzdGVtIGlzIGJ1c3ksIGNhbm5vdCBiZSByZW1vdmVkCmZzbUZGU05vdEZvdW5kRXJyICAgPSAgIC00MzEgICAgI0ZvcmVpZ24gRmlsZSBzeXN0ZW0gZG9lcyBub3QgZXhpc3QgLSBuZXcgUGFjazIgY291bGQgcmV0dXJuIHRoaXMgZXJyb3IgdG9vCmJ0S2V5QXR0ckVyciAgICA9ICAgLTQxNyAgICAjVGhlcmUgaXMgbm8gc3VjaCBhIGtleSBhdHRyaWJ1dGUuCmJ0S2V5TGVuRXJyID0gICAtNDE2ICAgICNNYXhpbXVtIGtleSBsZW5ndGggaXMgdG9vIGxvbmcgb3IgZXF1YWwgdG8gemVyby4KYnRSZWNOb3RGbmQgPSAgIC00MTUgICAgI1JlY29yZCBjYW5ub3QgYmUgZm91bmQuCmJ0RHVwUmVjRXJyID0gICAtNDE0ICAgICNSZWNvcmQgYWxyZWFkeSBleGlzdHMuCmJ0Tm9TcGFjZSAgID0gICAtNDEzICAgICNDYW4ndCBhbGxvY2F0ZSBkaXNrIHNwYWNlLgpub3RCVHJlZSAgICA9ICAgLTQxMCAgICAjVGhlIGZpbGUgaXMgbm90IGEgZGljdGlvbmFyeS4KZ2NyT25NRk1FcnIgPSAgIC00MDAgICAgI2djciBmb3JtYXQgb24gaGlnaCBkZW5zaXR5IG1lZGlhIGVycm9yCnNsb3ROdW1FcnIgID0gICAtMzYwICAgICNpbnZhbGlkIHNsb3QgIyBlcnJvcgpzbVJlY05vdEZuZCA9ICAgLTM1MSAgICAjUmVjb3JkIG5vdCBmb3VuZCBpbiB0aGUgU1JULgpzbVNSVE92ckZsRXJyICAgPSAgIC0zNTAgICAgI1NSVCBvdmVyIGZsb3cuCnNtTm9Hb29kT3BlbnMgICA9ICAgLTM0OSAgICAjTm8gb3BlbnMgd2VyZSBzdWNjZXNzZnVsbCBpbiB0aGUgbG9vcC4Kc21PZmZzZXRFcnIgPSAgIC0zNDggICAgI09mZnNldCB3YXMgdG9vIGJpZyAodGVtcG9yYXJ5IGVycm9yCnNtQnl0ZUxhbmVzRXJyICA9ICAgLTM0NyAgICAjTnVtQnl0ZUxhbmVzIHdhcyBkZXRlcm1pbmVkIHRvIGJlIHplcm8uCnNtQmFkc1B0ckVyciAgICA9ICAgLTM0NiAgICAjQmFkIHBvaW50ZXIgd2FzIHBhc3NlZCB0byBzQ2FsY3NQb2ludGVyCnNtc0dldERydnJFcnIgICA9ICAgLTM0NSAgICAjRXJyb3Igb2NjdXJyZWQgZHVyaW5nIF9zR2V0RHJpdmVyLgpzbU5vTW9yZXNSc3JjcyAgPSAgIC0zNDQgICAgI05vIG1vcmUgc1Jlc291cmNlcwpzbURpc0RydnJOYW1FcnIgPSAgIC0zNDMgICAgI0Vycm9yIG9jY3VycmVkIGR1cmluZyBfc0Rpc0RydnJOYW1lLgpzbUdldERydnJOYW1FcnIgPSAgIC0zNDIgICAgI0Vycm9yIG9jY3VycmVkIGR1cmluZyBfc0dldERydnJOYW1lLgpzbUNrU3RhdHVzRXJyICAgPSAgIC0zNDEgICAgI1N0YXR1cyBvZiBzbG90ID0gZmFpbC4Kc21CbGtNb3ZlRXJyICAgID0gICAtMzQwICAgICNfQmxvY2tNb3ZlIGVycm9yCnNtTmV3UEVyciAgID0gICAtMzM5ICAgICNfTmV3UHRyIGVycm9yCnNtU2VsT09CRXJyID0gICAtMzM4ICAgICNTZWxlY3RvciBvdXQgb2YgYm91bmRzIGVycm9yCnNtU2xvdE9PQkVyciAgICA9ICAgLTMzNyAgICAjU2xvdCBvdXQgb2YgYm91bmRzIGVycm9yCnNtTmlsc0Jsb2NrRXJyICA9ICAgLTMzNiAgICAjTmlsIHNCbG9jayBlcnJvciAoRG9udCBhbGxvY2F0ZSBhbmQgdHJ5IHRvIHVzZSBhIG5pbCBzQmxvY2spCnNtc1BvaW50ZXJOaWwgICA9ICAgLTMzNSAgICAjTFBvaW50ZXIgaXMgbmlsIEZyb20gc09mZnNldERhdGEuIElmIHRoaXMgZXJyb3Igb2NjdXJzOyBjaGVjayBzSW5mbyByZWMgZm9yIG1vcmUgaW5mb3JtYXRpb24uCnNtQ1BVRXJyICAgID0gICAtMzM0ICAgICNDb2RlIHJldmlzaW9uIGlzIHdyb25nCnNtQ29kZVJldkVyciAgICA9ICAgLTMzMyAgICAjQ29kZSByZXZpc2lvbiBpcyB3cm9uZwpzbVJlc2VydmVkRXJyICAgPSAgIC0zMzIgICAgI1Jlc2VydmVkIGZpZWxkIG5vdCB6ZXJvCnNtQmFkc0xpc3QgID0gICAtMzMxICAgICNCYWQgc0xpc3Q6IElkMSA8IElkMiA8IElkMyAuLi5mb3JtYXQgaXMgbm90IGZvbGxvd2VkLgpzbUJhZFJlZklkICA9ICAgLTMzMCAgICAjUmVmZXJlbmNlIElkIG5vdCBmb3VuZCBpbiBMaXN0CnNtQnVzRXJyVE8gID0gICAtMzIwICAgICNCdXNFcnJvciB0aW1lIG91dC4Kc21CYWRCb2FyZElkICAgID0gICAtMzE5ICAgICNCb2FyZElkIHdhcyB3cm9uZzsgcmUtaW5pdCB0aGUgUFJBTSByZWNvcmQuCnNtUmVzZXJ2ZWRTbG90ICA9ICAgLTMxOCAgICAjc2xvdCBpcyByZXNlcnZlZCwgVk0gc2hvdWxkIG5vdCB1c2UgdGhpcyBhZGRyZXNzIHNwYWNlLgpzbUluaXRUYmxWRXJyICAgPSAgIC0zMTcgICAgI0FuIGVycm9yIG9jY3VycmVkIHdoaWxlIHRyeWluZyB0byBpbml0aWFsaXplIHRoZSBTbG90IFJlc291cmNlIFRhYmxlLgpzbUluaXRTdGF0VkVyciAgPSAgIC0zMTYgICAgI1RoZSBJbml0U3RhdHVzViBmaWVsZCB3YXMgbmVnYXRpdmUgYWZ0ZXIgcHJpbWFyeSBvciBzZWNvbmRhcnkgaW5pdC4Kc21Ob0JvYXJkSWQgPSAgIC0zMTUgICAgI05vIEJvYXJkIElkLgpzbUdldFBSRXJyICA9ICAgLTMxNCAgICAjRXJyb3Igb2NjdXJyZWQgZHVyaW5nIF9zR2V0UFJBTVJlYyAoU2VlIFNJTVN0YXR1cykuCnNtTm9Cb2FyZFNSc3JjICA9ICAgLTMxMyAgICAjTm8gQm9hcmQgc1Jlc291cmNlLgpzbURpc3Bvc2VQRXJyICAgPSAgIC0zMTIgICAgI19EaXNwb3NlUG9pbnRlciBlcnJvcgpzbUZIQmxrRGlzcEVyciAgPSAgIC0zMTEgICAgI0Vycm9yIG9jY3VycmVkIGR1cmluZyBfc0Rpc3Bvc2VQdHIgKERpc3Bvc2Ugb2YgRkhlYWRlciBibG9jaykuCnNtRkhCbG9ja1JkRXJyICA9ICAgLTMxMCAgICAjRXJyb3Igb2NjdXJyZWQgZHVyaW5nIF9zR2V0RkhlYWRlci4Kc21CTEZpZWxkQmFkICAgID0gICAtMzA5ICAgICNCeXRlTGFuZXMgZmllbGQgd2FzIGJhZC4Kc21VbkV4QnVzRXJyICAgID0gICAtMzA4ICAgICNVbmV4cGVjdGVkIEJ1c0Vycm9yCnNtUmVzcnZFcnIgID0gICAtMzA3ICAgICNGYXRhbCByZXNlcnZlZCBlcnJvci4gUmVzZXJ2ZWQgZmllbGQgIT0gMC4Kc21Ob3NJbmZvQXJyYXkgID0gICAtMzA2ICAgICNObyBzSW5mb0FycmF5LiBNZW1vcnkgTWdyIGVycm9yLgpzbURpc2FibGVkU2xvdCAgPSAgIC0zMDUgICAgI1RoaXMgc2xvdCBpcyBkaXNhYmxlZCAoLTMwNSB1c2UgdG8gYmUgc21MV1RzdEJhZCkKc21Ob0RpciA9ICAgLTMwNCAgICAjRGlyZWN0b3J5IG9mZnNldCBpcyBOaWwKc21SZXZpc2lvbkVyciAgID0gICAtMzAzICAgICNXcm9uZyByZXZpc29uIGxldmVsCnNtRm9ybWF0RXJyID0gICAtMzAyICAgICNGSGVhZGVyIEZvcm1hdCBpcyBub3QgQXBwbGUncwpzbUNSQ0ZhaWwgICA9ICAgLTMwMSAgICAjQ1JDIGNoZWNrIGZhaWxlZCBmb3IgZGVjbGFyYXRpb24gZGF0YQpzbUVtcHR5U2xvdCA9ICAgLTMwMCAgICAjTm8gY2FyZCBpbiBzbG90Cm5tVHlwRXJyICAgID0gICAtMjk5ICAgICNOb3RpZmljYXRpb24gTWFuYWdlcjp3cm9uZyBxdWV1ZSB0eXBlCnNtUHJpSW5pdEVyciAgICA9ICAgLTI5MyAgICAjRXJyb3I7IENhcmRzIGNvdWxkIG5vdCBiZSBpbml0aWFsaXplZC4Kc21QUkFNSW5pdEVyciAgID0gICAtMjkyICAgICNFcnJvcjsgU2xvdCBSZXNvdXJjZSBUYWJsZSBjb3VsZCBub3QgYmUgaW5pdGlhbGl6ZWQuCnNtU1JUSW5pdEVyciAgICA9ICAgLTI5MSAgICAjRXJyb3I7IFNsb3QgUmVzb3VyY2UgVGFibGUgY291bGQgbm90IGJlIGluaXRpYWxpemVkLgpzbVNETUluaXRFcnIgICAgPSAgIC0yOTAgICAgI0Vycm9yOyBTRE0gY291bGQgbm90IGJlIGluaXRpYWxpemVkLgptaWRpSW52YWxpZENtZEVyciAgID0gICAtMjYxICAgICNjb21tYW5kIG5vdCBzdXBwb3J0ZWQgZm9yIHBvcnQgdHlwZQptaWRpRHVwSURFcnIgICAgPSAgIC0yNjAgICAgI2R1cGxpY2F0ZSBjbGllbnQgSUQKbWlkaU5hbWVMZW5FcnIgID0gICAtMjU5ICAgICNuYW1lIHN1cHBsaWVkIGlzIGxvbmdlciB0aGFuIDMxIGNoYXJhY3RlcnMKbWlkaVdyaXRlRXJyICAgID0gICAtMjU4ICAgICNNSURJV3JpdGVQYWNrZXQgY291bGRuJ3Qgd3JpdGUgdG8gYWxsIGNvbm5lY3RlZCBwb3J0cwptaWRpTm9Db25FcnIgICAgPSAgIC0yNTcgICAgI25vIGNvbm5lY3Rpb24gZXhpc3RzIGJldHdlZW4gc3BlY2lmaWVkIHBvcnRzCm1pZGlWQ29ubmVjdFJtdmQgICAgPSAgIC0yNTYgICAgI3BlbmRpbmcgdmlydHVhbCBjb25uZWN0aW9uIHJlbW92ZWQKbWlkaVZDb25uZWN0TWFkZSAgICA9ICAgLTI1NSAgICAjcGVuZGluZyB2aXJ0dWFsIGNvbm5lY3Rpb24gcmVzb2x2ZWQKbWlkaVZDb25uZWN0RXJyID0gICAtMjU0ICAgICNwZW5kaW5nIHZpcnR1YWwgY29ubmVjdGlvbiBjcmVhdGVkCm1pZGlUb29NYW55Q29uc0VyciAgPSAgIC0yNTMgICAgI3RvbyBtYW55IGNvbm5lY3Rpb25zIG1hZGUKbWlkaVRvb01hbnlQb3J0c0VyciA9ICAgLTI1MiAgICAjdG9vIG1hbnkgcG9ydHMgYWxyZWFkeSBpbnN0YWxsZWQgaW4gdGhlIHN5c3RlbQptaWRpTm9Qb3J0RXJyICAgPSAgIC0yNTEgICAgI25vIHBvcnQgd2l0aCB0aGF0IElEIGZvdW5kCm1pZGlOb0NsaWVudEVyciA9ICAgLTI1MCAgICAjbm8gY2xpZW50IHdpdGggdGhhdCBJRCBmb3VuZApiYWRJbnB1dFRleHQgICAgPSAgIC0yNDcgICAgI2JhZElucHV0VGV4dApiYWREaWN0Rm9ybWF0ICAgPSAgIC0yNDYgICAgI2JhZERpY3RGb3JtYXQKaW5jb21wYXRpYmxlVm9pY2UgICA9ICAgLTI0NSAgICAjaW5jb21wYXRpYmxlVm9pY2UKdm9pY2VOb3RGb3VuZCAgID0gICAtMjQ0ICAgICN2b2ljZU5vdEZvdW5kCmJ1ZlRvb1NtYWxsID0gICAtMjQzICAgICNidWZUb29TbWFsbApzeW50aE5vdFJlYWR5ICAgPSAgIC0yNDIgICAgI3N5bnRoTm90UmVhZHkKc3ludGhPcGVuRmFpbGVkID0gICAtMjQxICAgICNzeW50aE9wZW5GYWlsZWQKbm9TeW50aEZvdW5kICAgID0gICAtMjQwICAgICNub1N5bnRoRm91bmQKc2lVbmtub3duUXVhbGl0eSAgICA9ICAgLTIzMiAgICAjaW52YWxpZCBxdWFsaXR5IHNlbGVjdG9yIChyZXR1cm5lZCBieSBkcml2ZXIpCnNpVW5rbm93bkluZm9UeXBlICAgPSAgIC0yMzEgICAgI2ludmFsaWQgaW5mbyB0eXBlIHNlbGVjdG9yIChyZXR1cm5lZCBieSBkcml2ZXIpCnNpSW5wdXREZXZpY2VFcnIgICAgPSAgIC0yMzAgICAgI2lucHV0IGRldmljZSBoYXJkd2FyZSBmYWlsdXJlCnNpQmFkUmVmTnVtID0gICAtMjI5ICAgICNpbnZhbGlkIGlucHV0IGRldmljZSByZWZlcmVuY2UgbnVtYmVyCnNpQmFkRGV2aWNlTmFtZSA9ICAgLTIyOCAgICAjaW5wdXQgZGV2aWNlIGNvdWxkIG5vdCBiZSBvcGVuZWQKc2lEZXZpY2VCdXN5RXJyID0gICAtMjI3ICAgICNpbnB1dCBkZXZpY2UgYWxyZWFkeSBpbiB1c2UKc2lJbnZhbGlkU2FtcGxlU2l6ZSA9ICAgLTIyNiAgICAjaW52YWxpZCBzYW1wbGUgc2l6ZQpzaUludmFsaWRTYW1wbGVSYXRlID0gICAtMjI1ICAgICNpbnZhbGlkIHNhbXBsZSByYXRlCnNpSGFyZERyaXZlVG9vU2xvdyAgPSAgIC0yMjQgICAgI2hhcmQgZHJpdmUgdG9vIHNsb3cgdG8gcmVjb3JkIHRvIGRpc2sKc2lJbnZhbGlkQ29tcHJlc3Npb24gICAgPSAgIC0yMjMgICAgI2ludmFsaWQgY29tcHJlc3Npb24gdHlwZQpzaU5vQnVmZmVyU3BlY2lmaWVkID0gICAtMjIyICAgICNyZXR1cm5lZCBieSBzeW5jaHJvbm91cyBTUEJSZWNvcmQgaWYgbmlsIGJ1ZmZlciBwYXNzZWQKc2lCYWRTb3VuZEluRGV2aWNlICA9ICAgLTIyMSAgICAjaW52YWxpZCBpbmRleCBwYXNzZWQgdG8gU291bmRJbkdldEluZGV4ZWREZXZpY2UKc2lOb1NvdW5kSW5IYXJkd2FyZSA9ICAgLTIyMCAgICAjbm8gU291bmQgSW5wdXQgaGFyZHdhcmUKc2lWQlJDb21wcmVzc2lvbk5vdFN1cHBvcnRlZCAgICA9ICAgLTIxMyAgICAjdmJyIGF1ZGlvIGNvbXByZXNzaW9uIG5vdCBzdXBwb3J0ZWQgZm9yIHRoaXMgb3BlcmF0aW9uCm5vTW9yZVJlYWxUaW1lICA9ICAgLTIxMiAgICAjbm90IGVub3VnaCBDUFUgY3ljbGVzIGxlZnQgdG8gYWRkIGFub3RoZXIgdGFzawpjaGFubmVsTm90QnVzeSAgPSAgIC0yMTEgICAgI2NoYW5uZWxOb3RCdXN5CmJ1ZmZlcnNUb29TbWFsbCA9ICAgLTIxMCAgICAjY2FuIG5vdCBvcGVyYXRlIGluIHRoZSBtZW1vcnkgYWxsb3dlZApjaGFubmVsQnVzeSA9ICAgLTIwOSAgICAjdGhlIENoYW5uZWwgaXMgYmVpbmcgdXNlZCBmb3IgYSBQRkQgYWxyZWFkeQpiYWRGaWxlRm9ybWF0ICAgPSAgIC0yMDggICAgI3dhcyBub3QgdHlwZSBBSUZGIG9yIHdhcyBvZiBiYWQgZm9ybWF0LGNvcnJ1cHQKbm90RW5vdWdoQnVmZmVyU3BhY2UgICAgPSAgIC0yMDcgICAgI2NvdWxkIG5vdCBhbGxvY2F0ZSBlbm91Z2ggbWVtb3J5CmJhZEZvcm1hdCAgID0gICAtMjA2ICAgICNTb3VuZCBNYW5hZ2VyIEVycm9yIFJldHVybnMKYmFkQ2hhbm5lbCAgPSAgIC0yMDUgICAgI1NvdW5kIE1hbmFnZXIgRXJyb3IgUmV0dXJucwpyZXNQcm9ibGVtICA9ICAgLTIwNCAgICAjU291bmQgTWFuYWdlciBFcnJvciBSZXR1cm5zCnF1ZXVlRnVsbCAgID0gICAtMjAzICAgICNTb3VuZCBNYW5hZ2VyIEVycm9yIFJldHVybnMKbm90RW5vdWdoSGFyZHdhcmVFcnIgICAgPSAgIC0yMDEgICAgI1NvdW5kIE1hbmFnZXIgRXJyb3IgUmV0dXJucwpub0hhcmR3YXJlRXJyICAgPSAgIC0yMDAgICAgI1NvdW5kIE1hbmFnZXIgRXJyb3IgUmV0dXJucwptYXBSZWFkRXJyICA9ICAgLTE5OSAgICAjbWFwIGluY29uc2lzdGVudCB3aXRoIG9wZXJhdGlvbgpyZXNBdHRyRXJyICA9ICAgLTE5OCAgICAjYXR0cmlidXRlIGluY29uc2lzdGVudCB3aXRoIG9wZXJhdGlvbgpybXZSZWZGYWlsZWQgICAgPSAgIC0xOTcgICAgI1JtdmVSZWZlcmVuY2UgZmFpbGVkCnJtdlJlc0ZhaWxlZCAgICA9ICAgLTE5NiAgICAjUm12ZVJlc291cmNlIGZhaWxlZAphZGRSZWZGYWlsZWQgICAgPSAgIC0xOTUgICAgI0FkZFJlZmVyZW5jZSBmYWlsZWQKYWRkUmVzRmFpbGVkICAgID0gICAtMTk0ICAgICNBZGRSZXNvdXJjZSBmYWlsZWQKcmVzRk5vdEZvdW5kICAgID0gICAtMTkzICAgICNSZXNvdXJjZSBmaWxlIG5vdCBmb3VuZApyZXNOb3RGb3VuZCA9ICAgLTE5MiAgICAjUmVzb3VyY2Ugbm90IGZvdW5kCmlucHV0T3V0T2ZCb3VuZHMgICAgPSAgIC0xOTAgICAgI09mZnNldCBvZiBDb3VudCBvdXQgb2YgYm91bmRzCndyaXRpbmdQYXN0RW5kICA9ICAgLTE4OSAgICAjV3JpdGluZyBwYXN0IGVuZCBvZiBmaWxlCnJlc291cmNlSW5NZW1vcnkgICAgPSAgIC0xODggICAgI1Jlc291cmNlIGFscmVhZHkgaW4gbWVtb3J5CkNhbnREZWNvbXByZXNzICA9ICAgLTE4NiAgICAjcmVzb3VyY2UgYmVudCAoInRoZSBiZW5kcyIpIC0gY2FuJ3QgZGVjb21wcmVzcyBhIGNvbXByZXNzZWQgcmVzb3VyY2UKYmFkRXh0UmVzb3VyY2UgID0gICAtMTg1ICAgICNleHRlbmRlZCByZXNvdXJjZSBoYXMgYSBiYWQgZm9ybWF0LgpjbU5vQ3VycmVudFByb2ZpbGUgID0gICAtMTgyICAgICNSZXNwb25kZXIgZXJyb3IKY21VbnN1cHBvcnRlZERhdGFUeXBlICAgPSAgIC0xODEgICAgI1Jlc3BvbmRlciBlcnJvcgpjbUNhbnREZWxldGVQcm9maWxlID0gICAtMTgwICAgICNSZXNwb25kZXIgZXJyb3IKY21DYW50WFlaICAgPSAgIC0xNzkgICAgI0NNTSBjYW50IGhhbmRsZSBYWVogc3BhY2UKY21DYW50Q29uY2F0ZW5hdGVFcnJvciAgPSAgIC0xNzggICAgI1Byb2ZpbGUgY2FuJ3QgYmUgY29uY2F0ZW5hdGVkCmNtUHJvZmlsZXNJZGVudGljYWwgPSAgIC0xNzcgICAgI1Byb2ZpbGVzIHRoZSBzYW1lCmNtUHJvZmlsZU5vdEZvdW5kICAgPSAgIC0xNzYgICAgI1Jlc3BvbmRlciBlcnJvcgpjbU1ldGhvZE5vdEZvdW5kICAgID0gICAtMTc1ICAgICNDTU0gbm90IHByZXNlbnQKY21NZXRob2RFcnJvciAgID0gICAtMTcxICAgICNjbU1ldGhvZEVycm9yCmNtUHJvZmlsZUVycm9yICA9ICAgLTE3MCAgICAjY21Qcm9maWxlRXJyb3IKY0RlcHRoRXJyICAgPSAgIC0xNTcgICAgI2ludmFsaWQgcGl4ZWwgZGVwdGgKY1Jlc0VyciA9ICAgLTE1NiAgICAjaW52YWxpZCByZXNvbHV0aW9uIGZvciBNYWtlSVRhYmxlCmNEZXZFcnIgPSAgIC0xNTUgICAgI2ludmFsaWQgdHlwZSBvZiBncmFwaGljcyBkZXZpY2UKY1Byb3RlY3RFcnIgPSAgIC0xNTQgICAgI2NvbG9yVGFibGUgZW50cnkgcHJvdGVjdGlvbiB2aW9sYXRpb24KY1JhbmdlRXJyICAgPSAgIC0xNTMgICAgI3JhbmdlIGVycm9yIG9uIGNvbG9yVGFibGUgcmVxdWVzdApjTm9NZW1FcnIgICA9ICAgLTE1MiAgICAjZmFpbGVkIHRvIGFsbG9jYXRlIG1lbW9yeSBmb3Igc3RydWN0dXJlCmNUZW1wTWVtRXJyID0gICAtMTUxICAgICNmYWlsZWQgdG8gYWxsb2NhdGUgbWVtb3J5IGZvciB0ZW1wb3Jhcnkgc3RydWN0dXJlcwpjTWF0Y2hFcnIgICA9ICAgLTE1MCAgICAjQ29sb3IySW5kZXggZmFpbGVkIHRvIGZpbmQgYW4gaW5kZXgKaW5zdWZmaWNpZW50U3RhY2tFcnIgICAgPSAgIC0xNDkgICAgI2luc3VmZmljaWVudFN0YWNrRXJyCnBpeE1hcFRvb0RlZXBFcnIgICAgPSAgIC0xNDggICAgI3BpeE1hcFRvb0RlZXBFcnIKcmduT3ZlcmZsb3dFcnIgID0gICAtMTQ3ICAgICNyZ25PdmVyZmxvd0Vycgpub01lbUZvclBpY3RQbGF5YmFja0VyciA9ICAgLTE0NSAgICAjbm9NZW1Gb3JQaWN0UGxheWJhY2tFcnIKdXNlckNhbmNlbGVkRXJyID0gICAtMTI4ICAgICN1c2VyQ2FuY2VsZWRFcnIKaE1lbnVGaW5kRXJyICAgID0gICAtMTI3ICAgICNjb3VsZCBub3QgZmluZCBITWVudSdzIHBhcmVudCBpbiBNZW51S2V5ICh3cm9uZyBlcnJvciBjb2RlIC0gb2Jzb2xldGUpCm1CYXJORm5kICAgID0gICAtMTI2ICAgICNzeXN0ZW0gZXJyb3IgY29kZSBmb3IgTUJERiBub3QgZm91bmQKdXBkUGl4TWVtRXJyICAgID0gICAtMTI1ICAgICNpbnN1ZmZpY2llbnQgbWVtb3J5IHRvIHVwZGF0ZSBhIHBpeG1hcAp2b2xHb25lRXJyICA9ICAgLTEyNCAgICAjU2VydmVyIHZvbHVtZSBoYXMgYmVlbiBkaXNjb25uZWN0ZWQuCndyZ1ZvbFR5cEVyciAgICA9ICAgLTEyMyAgICAjV3Jvbmcgdm9sdW1lIHR5cGUgZXJyb3IgW29wZXJhdGlvbiBub3Qgc3VwcG9ydGVkIGZvciBNRlNdCmJhZE1vdkVyciAgID0gICAtMTIyICAgICNNb3ZlIGludG8gb2Zmc3ByaW5nIGVycm9yCnRtd2RvRXJyICAgID0gICAtMTIxICAgICNObyBmcmVlIFdEQ0IgYXZhaWxhYmxlCmRpck5GRXJyICAgID0gICAtMTIwICAgICNEaXJlY3Rvcnkgbm90IGZvdW5kCm1lbUxvY2tlZEVyciAgICA9ICAgLTExNyAgICAjdHJ5aW5nIHRvIG1vdmUgYSBsb2NrZWQgYmxvY2sgKE1vdmVISGkpCm1lbVNDRXJyICAgID0gICAtMTE2ICAgICNTaXplIENoZWNrIGZhaWxlZAptZW1CQ0VyciAgICA9ICAgLTExNSAgICAjQmxvY2sgQ2hlY2sgZmFpbGVkCm1lbVBDRXJyICAgID0gICAtMTE0ICAgICNQb2ludGVyIENoZWNrIGZhaWxlZAptZW1BWkVyciAgICA9ICAgLTExMyAgICAjQWRkcmVzcyBpbiB6b25lIGNoZWNrIGZhaWxlZAptZW1QdXJFcnIgICA9ICAgLTExMiAgICAjdHJ5aW5nIHRvIHB1cmdlIGEgbG9ja2VkIG9yIG5vbi1wdXJnZWFibGUgYmxvY2sKbWVtV1pFcnIgICAgPSAgIC0xMTEgICAgI1doaWNoWm9uZSBmYWlsZWQgKGFwcGxpZWQgdG8gZnJlZSBibG9jaykKbWVtQWRyRXJyICAgPSAgIC0xMTAgICAgI2FkZHJlc3Mgd2FzIG9kZDsgb3Igb3V0IG9mIHJhbmdlCm5pbEhhbmRsZUVyciAgICA9ICAgLTEwOSAgICAjTWFzdGVyIFBvaW50ZXIgd2FzIE5JTCBpbiBIYW5kbGVab25lIG9yIG90aGVyCm1lbUZ1bGxFcnIgID0gICAtMTA4ICAgICNOb3QgZW5vdWdoIHJvb20gaW4gaGVhcCB6b25lCm5vVHlwZUVyciAgID0gICAtMTAyICAgICNObyBvYmplY3Qgb2YgdGhhdCB0eXBlIGluIHNjcmFwCm5vU2NyYXBFcnIgID0gICAtMTAwICAgICNObyBzY3JhcCBleGlzdHMgZXJyb3IKbWVtUk9aV2FybiAgPSAgIC05OSAjc29mdCBlcnJvciBpbiBST1oKcG9ydE5vdENmICAgPSAgIC05OCAjZHJpdmVyIE9wZW4gZXJyb3IgY29kZSAocGFyYW1ldGVyIFJBTSBub3QgY29uZmlndXJlZCBmb3IgdGhpcyBjb25uZWN0aW9uKQpwb3J0SW5Vc2UgICA9ICAgLTk3ICNkcml2ZXIgT3BlbiBlcnJvciBjb2RlIChwb3J0IGlzIGluIHVzZSkKcG9ydE5vdFB3ciAgPSAgIC05NiAjc2VyaWFsIHBvcnQgbm90IGN1cnJlbnRseSBwb3dlcmVkCmV4Y2Vzc0NvbGxzbnMgICA9ICAgLTk1ICNleGNlc3NpdmUgY29sbGlzaW9ucyBvbiB3cml0ZQpsYXBQcm90RXJyICA9ICAgLTk0ICNlcnJvciBpbiBhdHRhY2hpbmcvZGV0YWNoaW5nIHByb3RvY29sCm5vQnJpZGdlRXJyID0gICAtOTMgI25vIG5ldHdvcmsgYnJpZGdlIGZvciBub24tbG9jYWwgc2VuZAplTGVuRXJyID0gICAtOTIgI0xlbmd0aCBlcnJvciBkZHBMZW5FcnIKZU11bHRpRXJyICAgPSAgIC05MSAjTXVsdGljYXN0IGFkZHJlc3MgZXJyb3IgZGRwU2t0RXJyCmJyZWFrUmVjZCAgID0gICAtOTAgI0JyZWFrIHJlY2VpdmVkIChTQ0MpCnJjdnJFcnIgPSAgIC04OSAjU0NDIHJlY2VpdmVyIGVycm9yIChmcmFtaW5nOyBwYXJpdHk7IE9SKQpwckluaXRFcnIgICA9ICAgLTg4ICNJbml0VXRpbCBmb3VuZCB0aGUgcGFyYW1ldGVyIHJhbSB1bmluaXRpYWxpemVkCnByV3JFcnIgPSAgIC04NyAjcGFyYW1ldGVyIHJhbSB3cml0dGVuIGRpZG4ndCByZWFkLXZlcmlmeQpjbGtXckVyciAgICA9ICAgLTg2ICN0aW1lIHdyaXR0ZW4gZGlkIG5vdCB2ZXJpZnkKY2xrUmRFcnIgICAgPSAgIC04NSAjdW5hYmxlIHRvIHJlYWQgc2FtZSBjbG9jayB2YWx1ZSB0d2ljZQp2ZXJFcnIgID0gICAtODQgI3RyYWNrIGZhaWxlZCB0byB2ZXJpZnkKZm10MkVyciA9ICAgLTgzICNjYW4ndCBnZXQgZW5vdWdoIHN5bmMKZm10MUVyciA9ICAgLTgyICNjYW4ndCBmaW5kIHNlY3RvciAwIGFmdGVyIHRyYWNrIGZvcm1hdApzZWN0TkZFcnIgICA9ICAgLTgxICNzZWN0b3IgbnVtYmVyIG5ldmVyIGZvdW5kIG9uIGEgdHJhY2sKc2Vla0VyciA9ICAgLTgwICN0cmFjayBudW1iZXIgd3Jvbmcgb24gYWRkcmVzcyBtYXJrCnNwZEFkakVyciAgID0gICAtNzkgI3VuYWJsZSB0byBjb3JyZWN0bHkgYWRqdXN0IGRpc2sgc3BlZWQKdHdvU2lkZUVyciAgPSAgIC03OCAjdHJpZWQgdG8gcmVhZCAybmQgc2lkZSBvbiBhIDEtc2lkZWQgZHJpdmUKaW5pdElXTUVyciAgPSAgIC03NyAjdW5hYmxlIHRvIGluaXRpYWxpemUgSVdNCnRrMEJhZEVyciAgID0gICAtNzYgI3RyYWNrIDAgZGV0ZWN0IGRvZXNuJ3QgY2hhbmdlCmNhbnRTdGVwRXJyID0gICAtNzUgI3N0ZXAgaGFuZHNoYWtlIGZhaWxlZAp3clVuZGVycnVuICA9ICAgLTc0ICN3cml0ZSB1bmRlcnJ1biBvY2N1cnJlZApiYWREQnRTbHAgICA9ICAgLTczICNiYWQgZGF0YSBtYXJrIGJpdCBzbGlwIG5pYmJsZXMKYmFkRENrc3VtICAgPSAgIC03MiAjYmFkIGRhdGEgbWFyayBjaGVja3N1bQpub0R0YU1rRXJyICA9ICAgLTcxICNjb3VsZG4ndCBmaW5kIGEgZGF0YSBtYXJrIGhlYWRlcgpiYWRCdFNscEVyciA9ICAgLTcwICNiYWQgYWRkciBtYXJrIGJpdCBzbGlwIG5pYmJsZXMKYmFkQ2tzbUVyciAgPSAgIC02OSAjYWRkciBtYXJrIGNoZWNrc3VtIGRpZG4ndCBjaGVjawpkYXRhVmVyRXJyICA9ICAgLTY4ICNyZWFkIHZlcmlmeSBjb21wYXJlIGZhaWxlZApub0Fkck1rRXJyICA9ICAgLTY3ICNjb3VsZG4ndCBmaW5kIHZhbGlkIGFkZHIgbWFyawpub055YkVyciAgICA9ICAgLTY2ICNjb3VsZG4ndCBmaW5kIDUgbnliYmxlcyBpbiAyMDAgdHJpZXMKb2ZmTGluRXJyICAgPSAgIC02NSAjci93IHJlcXVlc3RlZCBmb3IgYW4gb2ZmLWxpbmUgZHJpdmUKZm9udERlY0Vycm9yICAgID0gICAtNjQgI2Vycm9yIGR1cmluZyBmb250IGRlY2xhcmF0aW9uCndyUGVybUVyciAgID0gICAtNjEgI3dyaXRlIHBlcm1pc3Npb25zIGVycm9yCmJhZE1EQkVyciAgID0gICAtNjAgI2JhZCBtYXN0ZXIgZGlyZWN0b3J5IGJsb2NrCmZzUm5FcnIgPSAgIC01OSAjZmlsZSBzeXN0ZW0gaW50ZXJuYWwgZXJyb3I6ZHVyaW5nIHJlbmFtZSB0aGUgb2xkIGVudHJ5IHdhcyBkZWxldGVkIGJ1dCBjb3VsZCBub3QgYmUgcmVzdG9yZWQuCmV4dEZTRXJyICAgID0gICAtNTggI3ZvbHVtZSBpbiBxdWVzdGlvbiBiZWxvbmdzIHRvIGFuIGV4dGVybmFsIGZzCm5vTWFjRHNrRXJyID0gICAtNTcgI25vdCBhIG1hYyBkaXNrZXR0ZSAoc2lnIGJ5dGVzIGFyZSB3cm9uZykKbnNEcnZFcnIgICAgPSAgIC01NiAjbm8gc3VjaCBkcml2ZSAodHJpZWQgdG8gbW91bnQgYSBiYWQgZHJpdmUgbnVtKQp2b2xPbkxpbkVyciA9ICAgLTU1ICNkcml2ZSB2b2x1bWUgYWxyZWFkeSBvbi1saW5lIGF0IE1vdW50Vm9sCnBlcm1FcnIgPSAgIC01NCAjcGVybWlzc2lvbnMgZXJyb3IgKG9uIGZpbGUgb3BlbikKdm9sT2ZmTGluRXJyICAgID0gICAtNTMgI3ZvbHVtZSBub3Qgb24gbGluZSBlcnJvciAod2FzIEVqZWN0ZWQpCmdmcEVyciAgPSAgIC01MiAjZ2V0IGZpbGUgcG9zaXRpb24gZXJyb3IKcmZOdW1FcnIgICAgPSAgIC01MSAjcmVmbnVtIGVycm9yCnBhcmFtRXJyICAgID0gICAtNTAgI2Vycm9yIGluIHVzZXIgcGFyYW1ldGVyIGxpc3QKb3BXckVyciA9ICAgLTQ5ICNmaWxlIGFscmVhZHkgb3BlbiB3aXRoIHdpdGggd3JpdGUgcGVybWlzc2lvbgpkdXBGTkVyciAgICA9ICAgLTQ4ICNkdXBsaWNhdGUgZmlsZW5hbWUgKHJlbmFtZSkKZkJzeUVyciA9ICAgLTQ3ICNGaWxlIGlzIGJ1c3kgKGRlbGV0ZSkKdkxja2RFcnIgICAgPSAgIC00NiAjdm9sdW1lIGlzIGxvY2tlZApmTGNrZEVyciAgICA9ICAgLTQ1ICNmaWxlIGlzIGxvY2tlZAp3UHJFcnIgID0gICAtNDQgI2Rpc2tldHRlIGlzIHdyaXRlIHByb3RlY3RlZC4KZm5mRXJyICA9ICAgLTQzICNGaWxlIG5vdCBmb3VuZAp0bWZvRXJyID0gICAtNDIgI3RvbyBtYW55IGZpbGVzIG9wZW4KbUZ1bEVyciA9ICAgLTQxICNtZW1vcnkgZnVsbCAob3Blbikgb3IgZmlsZSB3b24ndCBmaXQgKGxvYWQpCnBvc0VyciAgPSAgIC00MCAjdHJpZWQgdG8gcG9zaXRpb24gdG8gYmVmb3JlIHN0YXJ0IG9mIGZpbGUgKHIvdykKZW9mRXJyICA9ICAgLTM5ICNFbmQgb2YgZmlsZQpmbk9wbkVyciAgICA9ICAgLTM4ICNGaWxlIG5vdCBvcGVuCmJkTmFtRXJyICAgID0gICAtMzcgI3RoZXJlIG1heSBiZSBubyBiYWQgbmFtZXMgaW4gdGhlIGZpbmFsIHN5c3RlbSEKaW9FcnIgICA9ICAgLTM2ICNJL08gZXJyb3IgKGJ1bW1lcnMpCm5zdkVyciAgPSAgIC0zNSAjbm8gc3VjaCB2b2x1bWUKZHNrRnVsRXJyICAgPSAgIC0zNCAjZGlzayBmdWxsCmRpckZ1bEVyciAgID0gICAtMzMgI0RpcmVjdG9yeSBmdWxsCmRjZUV4dEVyciAgID0gICAtMzAgI2RjZSBleHRlbnNpb24gZXJyb3IKdW5pdFRibEZ1bGxFcnIgID0gICAtMjkgI3VuaXQgdGFibGUgaGFzIG5vIG1vcmUgZW50cmllcwpub3RPcGVuRXJyICA9ICAgLTI4ICNDb3VsZG4ndCByZC93ci9jdGwvc3RzIGNhdXNlIGRyaXZlciBub3Qgb3BlbmVkCmlJT0Fib3J0RXJyID0gICAtMjcgI0lPIGFib3J0IGVycm9yIChQcmludGluZyBNYW5hZ2VyKQpkSW5zdEVyciAgICA9ICAgLTI2ICNEcnZySW5zdGFsbCBjb3VsZG4ndCBmaW5kIGRyaXZlciBpbiByZXNvdXJjZXMKZFJlbW92RXJyICAgPSAgIC0yNSAjdHJpZWQgdG8gcmVtb3ZlIGFuIG9wZW4gZHJpdmVyCmNsb3NFcnIgPSAgIC0yNCAjSS9PIFN5c3RlbSBFcnJvcnMKb3BlbkVyciA9ICAgLTIzICNJL08gU3lzdGVtIEVycm9ycwp1bml0RW1wdHlFcnIgICAgPSAgIC0yMiAjSS9PIFN5c3RlbSBFcnJvcnMKYmFkVW5pdEVyciAgPSAgIC0yMSAjSS9PIFN5c3RlbSBFcnJvcnMKd3JpdEVyciA9ICAgLTIwICNJL08gU3lzdGVtIEVycm9ycwpyZWFkRXJyID0gICAtMTkgI0kvTyBTeXN0ZW0gRXJyb3JzCnN0YXR1c0VyciAgID0gICAtMTggI0kvTyBTeXN0ZW0gRXJyb3JzCmNvbnRyb2xFcnIgID0gICAtMTcgI0kvTyBTeXN0ZW0gRXJyb3JzCmRzRXh0ZW5zaW9uc0Rpc2FibGVkICAgID0gICAtMTMgI3NheSCWRXh0ZW5zaW9ucyBEaXNhYmxlZJQKZHNIRDIwSW5zdGFsbGVkID0gICAtMTIgI3NheSCWSEQyMCBTdGFydHVwlApkc0Rpc2Fzc2VtYmxlckluc3RhbGxlZCA9ICAgLTExICNzYXkglkRpc2Fzc2VtYmxlciBJbnN0YWxsZWSUCmRzTWFjc0J1Z0luc3RhbGxlZCAgPSAgIC0xMCAjc2F5IJZNYWNzQnVnIEluc3RhbGxlZJQKc2VOb0RCICA9ICAgLTggICNubyBkZWJ1Z2dlciBpbnN0YWxsZWQgdG8gaGFuZGxlIGRlYnVnZ2VyIGNvbW1hbmQKU2xwVHlwZUVyciAgPSAgIC01ICAjaW52YWxpZCBxdWV1ZSBlbGVtZW50CnVuaW1wRXJyICAgID0gICAtNCAgI3VuaW1wbGVtZW50ZWQgY29yZSByb3V0aW5lCmNvckVyciAgPSAgIC0zICAjY29yZSByb3V0aW5lIG51bWJlciBvdXQgb2YgcmFuZ2UKZHNOb0V4dHNEaXNhc3NlbWJsZXIgICAgPSAgIC0yICAjbm90IGEgU3lzRXJyLCBqdXN0IGEgcGxhY2Vob2xkZXIKcUVyciAgICA9ICAgLTEgICNxdWV1ZSBlbGVtZW50IG5vdCBmb3VuZCBkdXJpbmcgZGVsZXRpb24KdHNtQ29tcG9uZW50Tm9FcnIgICA9ICAgMCAgICNjb21wb25lbnQgcmVzdWx0ID0gbm8gZXJyb3IKRVBFUk0gICA9ICAgMSAgICNPcGVyYXRpb24gbm90IHBlcm1pdHRlZApFTk9FTlQgID0gICAyICAgI05vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnkKRVNSQ0ggICA9ICAgMyAgICNObyBzdWNoIHByb2Nlc3MKRUlOVFIgICA9ICAgNCAgICNJbnRlcnJ1cHRlZCBzeXN0ZW0gY2FsbApFSU8gPSAgIDUgICAjSW5wdXQvb3V0cHV0IGVycm9yCkVOWElPICAgPSAgIDYgICAjRGV2aWNlIG5vdCBjb25maWd1cmVkCkUyQklHICAgPSAgIDcgICAjQXJndW1lbnQgbGlzdCB0b28gbG9uZwpFTk9FWEVDID0gICA4ICAgI0V4ZWMgZm9ybWF0IGVycm9yCkVCQURGICAgPSAgIDkgICAjQmFkIGZpbGUgZGVzY3JpcHRvcgpFQ0hJTEQgID0gICAxMCAgI05vIGNoaWxkIHByb2Nlc3NlcwpFREVBRExLID0gICAxMSAgI1Jlc291cmNlIGRlYWRsb2NrIGF2b2lkZWQKRU5PTUVNICA9ICAgMTIgICNDYW5ub3QgYWxsb2NhdGUgbWVtb3J5CkVBQ0NFUyAgPSAgIDEzICAjUGVybWlzc2lvbiBkZW5pZWQKRUZBVUxUICA9ICAgMTQgICNCYWQgYWRkcmVzcwpFQ0FOQ0VMRUQgICA9ICAgMTUgICNPcGVyYXRpb24gY2FuY2VsbGVkCkVCVVNZICAgPSAgIDE2ICAjRGV2aWNlIGJ1c3kKRUVYSVNUICA9ICAgMTcgICNGaWxlIGV4aXN0cwpFWERFViAgID0gICAxOCAgI0Nyb3NzLWRldmljZSBsaW5rCkVOT0RFViAgPSAgIDE5ICAjT3BlcmF0aW9uIG5vdCBzdXBwb3J0ZWQgYnkgZGV2aWNlCkVOT1RESVIgPSAgIDIwICAjTm90IGEgZGlyZWN0b3J5CkVJU0RJUiAgPSAgIDIxICAjSXMgYSBkaXJlY3RvcnkKRUlOVkFMICA9ICAgMjIgICNJbnZhbGlkIGFyZ3VtZW50CkVORklMRSAgPSAgIDIzICAjVG9vIG1hbnkgb3BlbiBmaWxlcyBpbiBzeXN0ZW0KRU1GSUxFICA9ICAgMjQgICNUb28gbWFueSBvcGVuIGZpbGVzCkVOT1RUWSAgPSAgIDI1ICAjSW5hcHByb3ByaWF0ZSBpb2N0bCBmb3IgZGV2aWNlCkVTSUdQQVJNICAgID0gICAyNiAgI1NpZ25hbCBlcnJvcgpFRkJJRyAgID0gICAyNyAgI0ZpbGUgdG9vIGxhcmdlCkVOT1NQQyAgPSAgIDI4ICAjTm8gc3BhY2UgbGVmdCBvbiBkZXZpY2UKRVNQSVBFICA9ICAgMjkgICNJbGxlZ2FsIHNlZWsKRVJPRlMgICA9ICAgMzAgICNSZWFkLW9ubHkgZmlsZSBzeXN0ZW0KRU1MSU5LICA9ICAgMzEgICNUb28gbWFueSBsaW5rcwpFUElQRSAgID0gICAzMiAgI0Jyb2tlbiBwaXBlCkVET00gICAgPSAgIDMzICAjTnVtZXJpY2FsIGFyZ3VtZW50IG91dCBvZiBkb21haW4KRVJBTkdFICA9ICAgMzQgICNSZXN1bHQgdG9vIGxhcmdlCkVBR0FJTiAgPSAgIDM1ICAjUmVzb3VyY2UgdGVtcG9yYXJpbHkgdW5hdmFpbGFibGUKRUlOUFJPR1JFU1MgPSAgIDM2ICAjT3BlcmF0aW9uIG5vdyBpbiBwcm9ncmVzcwpFQUxSRUFEWSAgICA9ICAgMzcgICNPcGVyYXRpb24gYWxyZWFkeSBpbiBwcm9ncmVzcwpFTk9UU09DSyAgICA9ICAgMzggICNTb2NrZXQgb3BlcmF0aW9uIG9uIG5vbi1zb2NrZXQKRURFU1RBRERSUkVRICAgID0gICAzOSAgI0Rlc3RpbmF0aW9uIGFkZHJlc3MgcmVxdWlyZWQKRU1TR1NJWkUgICAgPSAgIDQwICAjTWVzc2FnZSB0b28gbG9uZwpFUFJPVE9UWVBFICA9ICAgNDEgICNQcm90b2NvbCB3cm9uZyB0eXBlIGZvciBzb2NrZXQKRU5PUFJPVE9PUFQgPSAgIDQyICAjUHJvdG9jb2wgbm90IGF2YWlsYWJsZQpFUFJPVE9OT1NVUFBPUlQgPSAgIDQzICAjUHJvdG9jb2wgbm90IHN1cHBvcnRlZApFU09DS1ROT1NVUFBPUlQgPSAgIDQ0ICAjU29ja2V0IHR5cGUgbm90IHN1cHBvcnRlZApFT1BOT1RTVVBQICA9ICAgNDUgICNPcGVyYXRpb24gbm90IHN1cHBvcnRlZApFUEZOT1NVUFBPUlQgICAgPSAgIDQ2ICAjUHJvdG9jb2wgZmFtaWx5IG5vdCBzdXBwb3J0ZWQKRUFGTk9TVVBQT1JUICAgID0gICA0NyAgI0FkZHJlc3MgZmFtaWx5IG5vdCBzdXBwb3J0ZWQgYnkgcHJvdG9jb2wgZmFtaWx5CkVBRERSSU5VU0UgID0gICA0OCAgI0FkZHJlc3MgYWxyZWFkeSBpbiB1c2UKRUFERFJOT1RBVkFJTCAgID0gICA0OSAgI0Nhbid0IGFzc2lnbiByZXF1ZXN0ZWQgYWRkcmVzcwpFTkVURE9XTiAgICA9ICAgNTAgICNOZXR3b3JrIGlzIGRvd24KRU5FVFVOUkVBQ0ggPSAgIDUxICAjTmV0d29yayBpcyB1bnJlYWNoYWJsZQpFTkVUUkVTRVQgICA9ICAgNTIgICNOZXR3b3JrIGRyb3BwZWQgY29ubmVjdGlvbiBvbiByZXNldApFQ09OTkFCT1JURUQgICAgPSAgIDUzICAjU29mdHdhcmUgY2F1c2VkIGNvbm5lY3Rpb24gYWJvcnQKRUNPTk5SRVNFVCAgPSAgIDU0ICAjQ29ubmVjdGlvbiByZXNldCBieSBwZWVyCkVOT0JVRlMgPSAgIDU1ICAjTm8gYnVmZmVyIHNwYWNlIGF2YWlsYWJsZQpFSVNDT05OID0gICA1NiAgI1NvY2tldCBpcyBhbHJlYWR5IGNvbm5lY3RlZApFTk9UQ09OTiAgICA9ICAgNTcgICNTb2NrZXQgaXMgbm90IGNvbm5lY3RlZApFU0hVVERPV04gICA9ICAgNTggICNDYW4ndCBzZW5kIGFmdGVyIHNvY2tldCBzaHV0ZG93bgpFVE9PTUFOWVJFRlMgICAgPSAgIDU5ICAjVG9vIG1hbnkgcmVmZXJlbmNlczogY2FuJ3Qgc3BsaWNlCkVUSU1FRE9VVCAgID0gICA2MCAgI09wZXJhdGlvbiB0aW1lZCBvdXQKRUNPTk5SRUZVU0VEICAgID0gICA2MSAgI0Nvbm5lY3Rpb24gcmVmdXNlZApFTE9PUCAgID0gICA2MiAgI1RvbyBtYW55IGxldmVscyBvZiBzeW1ib2xpYyBsaW5rcwpFTkFNRVRPT0xPTkcgICAgPSAgIDYzICAjRmlsZSBuYW1lIHRvbyBsb25nCkVIT1NURE9XTiAgID0gICA2NCAgI0hvc3QgaXMgZG93bgpFSE9TVFVOUkVBQ0ggICAgPSAgIDY1ICAjTm8gcm91dGUgdG8gaG9zdApFTk9URU1QVFkgICA9ICAgNjYgICNEaXJlY3Rvcnkgbm90IGVtcHR5CkVMT09LICAgPSAgIDY3ICAjSW50ZXJuYWwgbWFwcGluZyBmb3Iga09UTG9va0VyciwgZG9uJ3QgcmV0dXJuIHRvIGNsaWVudApFTk9MQ0sgID0gICA3NyAgI05vIGxvY2tzIGF2YWlsYWJsZQpFTk9TWVMgID0gICA3OCAgI0Z1bmN0aW9uIG5vdCBpbXBsZW1lbnRlZApFSUxTRVEgID0gICA4OCAgI1dpZGUgY2hhcmFjdGVyIGVuY29kaW5nIGVycm9yCkVVTktOT1dOICAgID0gICA5OSAgI1Vua25vd24gZXJyb3IK